← cd ~/work

~/work/melody-masters/README.md

Melody Masters

A genre-guessing music game where every note is synthesised in your browser.

role
Solo rebuild of a team coursework concept (CSU33012, Group 30)
year
2026
stack
JavaScript · Web Audio API · Node test runner · GitHub Actions
status
live

Problem

Make a music game with no licensed audio, no backend and no dependencies, that still sounds good.

Approach

  • 12 original cues across six genres, generated with oscillators and filtered noise in real time.
  • Six timed rounds with speed bonuses, streaks and a difficulty multiplier.
  • Accessible by default: keyboard shortcuts, visible focus, reduced-motion styles and announced status changes.
  • Local-first: a top-ten leaderboard stored in the browser; nothing leaves the page.

~/architecture

  1. catalog.js: genres + cues
  2. audio.js: Web Audio synth
  3. game.js: rounds + scoring
  4. main.js: screens + keyboard
  5. storage.js: local leaderboard

~/results

12
original cues, synthesised live
0
third-party runtime or build dependencies
CI
tests, checks and GitHub Pages deploys on every push
▶
playable now

~/figures

Melody Masters home screen
Melody Masters home screen
A round in progress with multiple-choice answers
A round in progress with multiple-choice answers

~/what's-next

More genres and a shared leaderboard.

Ask Leah

an assistant that only answers from what's on this site · it can be wrong