Back to Home
Music Pedagogy & Software

Teaching Sax: Video Lessons That Actually Sound Good

A custom teaching studio and practice platform I built to solve the real headaches of running a virtual woodwind studio.

Visit Live App Project Status: Active Studio Tool
Teaching Sax Virtual Classroom Dashboard Screenshot

Teaching Sax Classroom Screenshot

Take a screenshot of your active application on your Mac (e.g. using Cmd+Shift+4) and save it as teaching-sax.png inside the /public/images/ folder to replace this placeholder!

Project Tech Stack

Next.js 16TypeScriptDaily.co SDK (WebRTC)Drizzle ORMNeon PostgresStripe PaymentsTailwind CSS

Why I Built It

When I decided to get back into teaching private saxophone lessons, I looked around for software to manage student rosters, schedule slots, and keep track of assignments. Almost everything available felt like it was built in 2005—clunky, dated, and heavily skewed toward in-person piano studios.

As someone with both a music education degree and a background in building web apps, I decided to build my own studio tool from scratch. Using the software every week with actual students means every feature solves a friction point I've personally experienced during a lesson.

The Core Problem: Why Zoom Fails for Instruments

If you've ever tried to teach music lessons over standard video platforms like Zoom or Teams, you know the frustration. Standard video conferencing tools use aggressive noise-cancellation and noise-gating algorithms designed to isolate speech and silence background noise. When a student plays a long, sustained tone on a saxophone, the software assumes it's a vacuum cleaner or HVAC unit and cuts the sound off completely.

To solve this, I built a custom virtual classroom integration using the **Daily.co WebRTC SDK** with raw, uncompressed stereo Opus audio (256kbps stereo, 48kHz). By bypassing browser speech filtering, tone quality, dynamics, and subtle intonation come through naturally with minimal latency.

Making Studio Management Painless

  • Tokenized Self-Booking Links: Students pick available slots from a Calendly-style booking view on `/contact` with custom time templates and automated email confirmations.
  • Google Calendar API Sync: Decoupled from user sign-in, allowing direct sync of lesson slots into my real calendar without permission headaches.
  • iCal Native Calendar Feeds: Serves a read-only `.ics` calendar URL at `/api/calendar/[token]` so students and parents can subscribe directly from Apple or Google Calendar on their phones.
  • Painless Assignment Flow: I can type feedback and assigned exercises during the lesson so it appears immediately on the student's practice page without post-lesson typing.
  • Multi-Tenant Architecture from Day One: Scoped by `teacher_id` across all database tables so the infrastructure can cleanly support other music teachers whenever the studio expands.