Frets
The theory engine models pitch classes, scales, and tunings, then generates drills with true pitch, tab, and alternate-picking direction. The app below is the production build.
Parametric drill generation
Box positions, whole-neck runs, three-notes-per-string, diagonals, and arpeggios are computed for any tuning, scale, and root, verified by a property-based test matrix.
Ten-screen frontend
Ten screens (Today, Daily Session, Fretboard Lab, Song Workbench, Writing Bench, Jam, The Rig, Mastery, Ear Training, What's new) ported to React and running in-page.
Local-first architecture
Progress is a single JSON document with explicit backup and restore. Nothing is sent to a server.
ON STAGE
Play it here
Progress stays in your browser · Open full screen ↗
Live app. Progress is stored locally in your browser. Open full screen ↗
Common questions
What is Frets?
Frets is a guitar practice app by Tristan J. Nolan that runs entirely client-side on tnolan.ai. It has a pure TypeScript music-theory engine (pitch-class math, fretboard mapping, parametric drill generation across tunings), nine practice screens, Web Audio playback and MIDI export, and progress stored locally in the browser rather than on a server.