Project
Roulette

Morse Trainer

Listen, type what you heard, and speed up as you get it right.

BeginnerWeb appEducation6–14hAI-buildable 5/5no setup

Morse code training using the Koch method: start with two characters at full speed and add more as accuracy holds. Audio generation and precise timing between dots, dashes and gaps make this a small but exacting Web Audio project.

UI
Logic
Useful

Hosting · Free forever

Deploys free on GitHub Pages, Cloudflare Pages or Vercel Hobby.

Deploy it and share a link.

Core features · 7

  • Characters play as synthesised morse audio
  • The learner types what they heard
  • Accuracy per character is tracked
  • New characters unlock once accuracy holds above a threshold
  • Speed and tone frequency are adjustable
  • A session summary shows which characters are weakest
  • A reference chart is available but hidden by default

The interesting part

  • Exact timing ratios between dot, dash and the three gap types
  • Scheduling tones on the audio clock so the rhythm stays precise
  • Deciding when a character is learned well enough to add another

Once it works

  • Add a transmit mode using a key or spacebar
  • Add word and callsign practice
  • Add adjustable Farnsworth spacing

Suggested stack

reacttypescripttailwindlocalstorage

Track it