MY niece needed a solution for her live gigs
Sheet Music App for a Talented MusicianMusic
Project overview
Some projects start with a requirements document.
This one started with a musician.
My niece, Kyla, is an exceptionally talented performer, and like many working musicians, she juggles a growing collection of sheet music: lead sheets, arrangements, originals, gig‑specific charts, and revisions that change over time. Anyone who has performed live knows the pain point—PDFs scattered across folders, filenames that stop making sense, last‑minute searches before rehearsals, and the inevitable question: “Where did I save that version?”
So I built her a solution.
The result is a private, purpose‑built sheet music repository designed specifically for how musicians actually work. The application is live at:
👉 https://kyla.gerber.ca/sheetmusic
(and yes—I also built the public site at https://kyla.gerber.ca to support her broader musical presence)
The Problem
Generic file storage tools aren’t designed for musicians.
They’re good at storing files, but not at answering questions like:
- Is this chart gig‑ready?
- What style is this?
- Is this piano, vocal, or a lead sheet?
- Can I pull this up instantly during a performance?
As Kyla’s repertoire grew, so did the friction. Finding the right chart quickly became harder than it needed to be—and in live performance contexts, seconds matter.
The Solution
Rather than force a musician to adapt to a generic system, I built a purpose‑built web application around how musicians actually think about their music.
The result is a secure, private sheet music repository that emphasizes:
- Speed
- Organization
- Performance‑first usability
- Zero unnecessary complexity
This isn’t a general document manager. It’s a focused tool with a single job:
make it effortless to find and use sheet music when it matters most.
Key Features
Organized Music Library
Each piece of sheet music is stored as a PDF with structured metadata:
- Title
- Description (key, tempo, performance notes)
- Tags (e.g., jazz, ballad, standard)
- Categories (e.g., gig repertoire, originals, piano)
This allows music to be organized semantically, not just by filename.
Powerful Search and Filtering
As the library grows, discoverability becomes critical. The app supports:
- Full‑text search
- Tag‑based filtering
- Category‑based filtering
- Combined filters for precise results
Finding the right chart takes seconds, not minutes.
Gig Mode
One feature designed specifically for live performance is Gig Mode.
Gig Mode strips away unnecessary UI elements and presents the library in a clean, distraction‑free layout optimized for quick access—ideal for tablets, music stands, and real‑world performance use.
Inline PDF Viewing
All sheet music opens directly in the browser:
- No downloads
- No duplicated files
- No version confusion
Charts are displayed securely, with headers configured to prevent caching or unintended sharing.
Simple Editing and Maintenance
Music evolves, and the app reflects that reality:
- Titles, descriptions, tags, and categories can be updated easily
- Old charts can be removed cleanly
- Metadata can evolve without re‑uploading files
The system stays current without becoming fragile.
Security and Reliability
Even though this is a personal application, it was built with production‑level practices:
- Authenticated access
- Session‑based security
- CSRF protection
- Strict PDF validation
- Clean separation between stored files and public access
It’s private, secure, and dependable.
Why a Custom Build?
This project didn’t need a framework, a marketplace plugin, or a bloated feature set.
It needed:
- A clear understanding of the user
- A tight problem definition
- A solution that does one thing very well
Custom software shines when the goal is fit, not scale. This app exists to support one musician’s workflow—and it does exactly that.
The Outcome
Kyla now has a centralized, searchable, performance‑ready sheet music library that works the way she does.
Less time managing files.
Less friction before rehearsals and gigs.
More focus on the music itself.
For me, it’s a reminder of why I enjoy building custom systems: when the problem is well understood, the solution doesn’t need to be complicated—it just needs to be right.

It is Live and in use!
11








0 Comments