My neighbor teaches piano out of her front room. 23 active students, from a four-year-old working on simple five-finger patterns up to a high schooler prepping for a state competition. She's been teaching for 17 years. Her current system is: Google Calendar for lessons, a composition notebook per student (physical), and Venmo for tuition.
She doesn't need commercial music-school software. She needs the notebook, digitized, plus a tuition tracker, plus recital sign-ups, plus a way for parents to see practice logs without becoming a user-management surface of its own.
musicschool is that.
What It Does
- Students + teachers. Each student: instrument, level, teacher, parent contacts, current repertoire. Each teacher: availability grid, specialties, hourly or flat rate. Auto-match students to teachers on sign-up for multi-teacher schools.
- Lesson notes carry forward. Each lesson: what you worked on, what to practice, what next lesson's plan is. Next lesson opens with last lesson's "next plan" pre-loaded. Parents can read recent notes.
- Practice logs. Students or parents log practice minutes per day per piece. Teachers see the graph before the lesson. Honest logs beat guilt-tripping every time.
- Recitals + sign-ups. Post a recital; students sign up with piece + duration + accompanist. Auto-program sheet. Waitlist + rehearsal scheduling. Print-ready program for the night.
- Makeup credits. When a student cancels within the cutoff window, a makeup credit auto-issues. Credits expire after N weeks. Teachers see outstanding credits on their dashboard.
Lesson Notes Carry Forward (Again)
You'll notice a pattern across the Dangercorn catalog. Lots of our apps have "notes carry forward" as a feature. coachboard does it for coaching. meetingmind does it for team action items. musicschool does it for lessons.
This isn't laziness. It's the single most valuable pattern we've built, and we're putting it in every vertical where continuity across sessions matters. A piano teacher should not be re-reading last week's notes at 3:59 PM to remember what they assigned at 4:00. That's wasted energy; the system should hand it back.
Practice Logs Without the Shame
I was a pretty miserable piano student as a kid. The single worst part was the Tuesday lesson where my teacher asked "how much did you practice?" and I had to lie. Every kid who's taken lessons has done this.
musicschool doesn't fix the practicing problem. But it does put the practice data in the teacher's hands before the lesson, which means the conversation can be "I see you only practiced 15 minutes on the new Bach — what's hard about it?" instead of "did you practice?" The first conversation is useful. The second is humiliating theater.
Parents can log practice on the kid's behalf (common for younger students). Older students log their own. The log shows minutes per day per piece, with a weekly total. Teachers see a 7-day graph per student before each lesson.
Recital Program Generation
This is a feature I added because my neighbor asked for it, and it's become the most-praised feature in beta.
Set up a recital: date, venue, start time. Open sign-ups. Students submit their piece (title, composer, duration) and whether they need an accompanist. musicschool builds the running order (usually chronological by difficulty or skill level) and generates a print-ready PDF program.
The teacher can override the order. The program has cover art, the venue info, sponsor logos if applicable, and every student's piece properly formatted. What used to be a three-hour task the night before the recital is now a 15-minute review.
The Build
Flask + SQLite + Jinja. Single-password auth for teacher; tokenized parent/student URLs. WeasyPrint for recital programs. HTMX for practice log updates. 1,600 lines of custom code.
git clone https://github.com/Dangercorn-Enterprises/musicschool.git
cd musicschool
pip install -r requirements.txt
echo "AUTH_PASSWORD=studio" >> .env
python app.py
# → http://localhost:8670
Pricing
- Self-host: $0. Full features. Solo teachers' best option.
- Hosted Pro: $29/mo. Managed, Stripe tuition billing, SMS lesson reminders, parent-portal access.
- School: $99/mo. Multi-teacher school accounts, teacher-payout tracking, recital livestream + RSVP, SSO.
Who It's For
Solo piano/guitar/voice/violin/cello/percussion/brass/woodwind teachers running their practice out of their home. Small community music schools (2-10 teachers). The Suzuki studio down the street. The church basement with four teachers rotating through.
Not for: large university music schools, conservatories, or 50+ teacher operations. They have enterprise needs we don't touch.
The best music teachers spend their time teaching music. Every hour they spend inside software is an hour not spent at the keyboard with a student.
Related
coachboard for the solo-practitioner parallel. churchadmin for community music programs run out of a church building. childmilestone for parents tracking kids' progression alongside lessons.
Repo: github.com/Dangercorn-Enterprises/musicschool.
What's On the Roadmap
Three things I'm building toward for musicschool:
Repertoire library with audio. Standard pieces (the Suzuki book pieces, the Royal Conservatory list, the All-State audition pieces) come with reference recordings. Students can hear the piece while reviewing notes.
Annual recital portfolio. At year-end, generate a PDF for each student showing every piece they worked on, every recital they performed in, every milestone they hit. Makes a great keepsake for the parents and a clear progression record.
Group-class support. Right now musicschool is one-on-one focused. Adding group-class scheduling (theory class, ensembles) would round out the multi-teacher school use case.