Makeup lesson credits for music studios
The idea
Every music teacher carries a shadow debt of makeup lessons, tracked in a notebook, a phone note, or pure memory. Parents remember credits the teacher forgot; teachers honour makeups twice; and the liability compounds because credits never expire when nobody tracks the date. It is the most reliably hated admin problem in a teaching studio.
MyMusicStaff and its peers bundle a makeup feature into a sprawling everything-app, and it is nobody’s priority. The wedge is doing the single worst problem perfectly: an append-only credit ledger, parent self-booking against published windows, and expiry policy enforced by software instead of awkward conversations.
Who pays
Studios with 20-80 students pay 19 USD/month, typically a solo teacher or a two-teacher partnership for whom every double-honoured makeup is a direct unpaid hour. Distribution: music teacher associations (MTNA chapters and their UK equivalents), teacher Facebook groups, and content targeting makeup lesson policy searches, which teachers research every September.
MVP scope
- Family and student roster with append-only credit ledger
- One-tap credit issue with policy-driven expiry and daily expiry cron
- Recurring makeup window publisher with 30-minute slots
- Token-link family portal for balance viewing and self-booking
- Transactional slot claim so double-booking is impossible
- Skip for v1: regular lesson scheduling, tuition invoicing, attendance, multi-teacher studios, practice logs
Build MakeupDesk, a web app that manages makeup-lesson credits for music teaching studios. Stack: Next.js (App Router), Supabase (Postgres + auth), Stripe for billing. Core flow: the teacher keeps a roster of families and students. When a lesson is cancelled with proper notice, the teacher taps Issue Credit on the student, which writes a ledger entry with an expiry date set by studio policy (default 60 days, configurable). Separately, the teacher publishes makeup windows: Thursday 4-6pm in 30-minute slots. Each family has a login-free portal link (signed token per family) showing their current credit balance and the open makeup slots; booking a slot burns one credit atomically and emails both sides a confirmation. Expired credits drop off the ledger automatically via daily cron, with the expiry policy shown on the portal so nobody is surprised. Pages: teacher dashboard (outstanding credit liability count front and centre), family roster with per-family ledger history, makeup window publisher with recurring windows, family portal (balance, book a slot, upcoming makeups), studio policy settings, billing. Implementation details: make credit burn and slot claim a single Postgres transaction with a unique constraint on the slot, so two parents cannot book the same 4pm. Ledger entries are append-only: issue, burn, expire, and manual adjust with a required note. Pricing: 19 USD/month per studio via Stripe Checkout, 30-day trial, up to 100 active students.
// More Micro-SaaS ideas
-
Invoicing for freelance film crew
Freelance film crew hand-build invoices with day rates, kit fees, OT, and per diems; generates production-ready invoices from a simple call-time log.
Market read pendingWe are still researching this idea. -
Auto-generated graphics for youth sports leagues
Youth leagues wrangle Canva every single week; auto-generates schedule, matchup, and result graphics for every team straight from the fixture list.
Market read pendingWe are still researching this idea. -
Lead-first analytics for local businesses
Plausible tells local businesses pageviews, not jobs; cookieless analytics that ties visits to calls and quote forms so owners see which channel pays.
Market read pendingWe are still researching this idea. -
Restaurant websites built from the menu
Restaurant sites rot because menus change weekly; snap the menu and get a full site with schema markup, hours, and ordering links that stay in sync.
Market read pendingWe are still researching this idea.