← All projects

MusicForge

beta

A chart reading, writing and modifying app for musicians.

about

MusicForge is a web and native iOS app that renders LilyPond charts as PDFs in any key, with many variants (male vs. female singer, clefs, octave shifts for legibility).

Setlists tied to bands allow for organizing and sharing a list of songs presented in a given way (key, clef, octave, voice variant).

The built-in metronome is highly configurable and settings persist for charts in a setlist.

The web app also includes SongForge, a writing surface for creating new chord charts. SongForge is web-only — the iOS app is read-only on that front for now. These songs are stored in a new "BarStock" format that is akin to guitar chord charts (lyrics and chords, but no melody indicated) though it allows for definition of measures and such, and eventually may lead to a full chart writing capability with, say, a MIDI keyboard.

Source charts currently come from Eric Benson's library of lead sheets; over time this ecosystem will allow users to bring in their own charts, in BarStock or LilyPond formats, or perhaps even as a PDF file. Also a conversion feature from PDF to BarStock is envisioned. If you have ideas or requests, let me know!

Nico

evolution

Active since January 2026 · 126 sessions · 45 commits

↳ from claude · auto-generated at each session handoff
  1. week of Jun 8, 2026· 1 session

    Hardened the web app's quality: shipped the first end-to-end browser test and CI job (a hermetic harness that mocks auth and backend), fixed a deep-link bug so a chart's key survives reopening from history, and resolved a duplicate-song data bug by making the catalog sync idempotent and self-healing — then cleaned up existing duplicates and added detection tooling.

  2. week of Jun 1, 2026· 1 session

    Advanced a music lead-sheet book-export engine: shipped an automatic table of contents with correct page accounting and PDF bookmarks, then added support for rendering the auxiliary sections of charts (codas, intros, verses, solos, outros) so a 765-song flagship book dropped from ~60 unsupported songs to 16. Diagnosed a whole-book page-layout drift and scoped a PDF-stitching redesign for exact page placement.

  3. week of May 25, 2026· 1 session

    Shipped Build 48 of the iPad sheet-music app this week: history and setlist rows now display chart-option choices (chord voicings, lyrics language) as labeled chips using the live registry, replacing cryptic two-letter abbreviations. Also fixed a latent bug where un-toggling a chart option silently failed to persist.

  4. week of May 11, 2026· 1 session

    Light triage week on the music app: sorted the iOS issue backlog into formally-scoped entries and locked in UX direction for two interactions — metronome bottom-sheet padding and intro-circle behavior. No code shipped; the week was groundwork for the bigger refactor that followed.

  5. week of May 4, 2026· 4 sessions

    Builds 39 and 40 plus render-variant unification. Build 39 added the page-2 multi-page swipe fix, a barstock metronome with two-bar count-in, and a redesigned floating control. Build 40 shipped add-to-setlist auto-open, modal Reset-to-target-BPM, count-in dot polish, and missing-row gray-out. Mapped data shapes across web and iOS for the render-variant unification effort and shipped phase one — a RenderVariant type with decoders, fixtures, and tests, all green on both platforms.

  6. week of Apr 27, 2026· 8 sessions

    Chart Options launch and TestFlight cadence. Stage two landed in the backend (customizer extractor, dual-read, end-to-end verification) and Stage four phases 1–2 in the web frontend (ChartOptionsModal scaffold, registry endpoint, polarity normalizer, alias map). Symbolicated and fixed a TestFlight crash from an inverted Range. Refreshed user-facing copy and wired a custom-domain email address. Builds 36 and 37 (iOS) shipped — Update-Chart sheet improvements, a unified swipe modifier, landscape alpha-sort fix, two-stage swipe-down dismiss, enharmonic spelling fixes.

notes

Sign in to join the conversation.

  • No notes yet. Be the first.