Portfolio

PianoMaster

Website · Piano learning / browser app

Notes flow down onto the keyboard and the app waits until you play the right one – on a MIDI piano, a computer keyboard or with the mouse.

A free app for learning piano from MIDI files that runs in the browser with nothing to install. A note waterfall, classic notation, real-time scoring and a built-in library of more than forty pieces and exercises.

PianoMaster draws upcoming notes as a waterfall falling onto the keyboard – in perspective or flat – and shows the same passage above it in classic notation set in the Bravura music font. Keys light up as you play, sparks mark each hit and a visualiser shows the sound spectrum.

There are three modes: Listen, Practice – where the piece waits for the right notes – and Perform with scoring. Tempo goes from 20 to 200 %, you can transpose by 12 semitones, practise one hand, loop an A–B section and review a mistake map with a summary. You can play on an instrument connected through Web MIDI, on the computer keyboard or with the mouse, and the Web Audio synthesiser covers all 128 General MIDI sounds.

Without signing up you get the whole built-in library – public-domain melodies, scales, arpeggios, cadences and études. A free account lets you upload your own MIDI files. The site comes in three languages (PL, EN, DE), with a server-rendered landing page for SEO. The backend is FastAPI with mido and SQLite; the frontend is plain JavaScript and Canvas.

Landing page: free piano lessons with nothing to installNote waterfall above the keyboard and the piece in classic notationLibrary of pieces and exercises with length and difficulty

Features

  • note waterfall and classic notation above the keyboard
  • Listen, Practice and Perform modes with scoring
  • tempo, transposition, hand selection and A–B loop
  • MIDI piano, computer keyboard or mouse
  • 40+ built-in pieces and exercises, your own MIDI files with an account
  • interface in Polish, English and German

Technology

  • Python
  • FastAPI
  • mido
  • SQLite
  • JavaScript
  • Canvas
  • Web Audio
  • Web MIDI
  • Docker

My role

Concept, design, implementation, content and deployment

https://pianomaster.io