Teaching Sax: Video Lessons That Actually Sound Good
A custom virtual classroom and dashboard I built to support my return to saxophone teaching—specifically tuned to solve the audio problems music teachers face.

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
Why I Built It
When I decided to get back into woodwind teaching, I wanted a clean way to manage the studio. But looking at the available software out there, everything felt clunky, dated, and built mostly for piano lessons.
I saw a great opportunity to build something custom that I could use in my own lessons every week. By using the app with real students, I could test features immediately, see what actually helps kids practice, and iterate on the code in real-time.
The Core Feature: High-Fidelity, Low-Latency Audio Video
If you've ever tried to teach music lessons over standard video platforms like Zoom or Teams, you know they are designed for voice conversation, not music. Standard noise-cancellation algorithms treat a sustained saxophone or flute note as "background noise" and instantly mute it, resulting in a frustrating, choppy experience.
To fix this, I built a custom virtual classroom integration using the **Daily.co WebRTC SDK** with uncompressed, stereo audio channels. This prevents the browser from muting instrumental sounds and ensures we can play together with clear, natural tone quality and minimal latency.
Key Features
- Onboarding Wizard & Settings UI: A multi-tab settings page allowing teachers to configure bios, teaching specialty instruments, default pricing, default lesson lengths, and calendar links.
- Tokenized Student Booking Link: A Calendly-style student self-booking workflow built on the `/contact` path with custom time templates and automated Resend confirmation emails.
- Google Calendar OAuth Sync: Direct integration with the Google Calendar API that synchronizes lesson time slots independently of user sign-in credentials, supporting future extension to Microsoft and Apple calendars.
- iCal Subscription Feed: Generates a read-only `.ics` calendar URL in standard RFC 5545 format at `/api/calendar/[token]`, enabling teachers and students to sync active lessons to their native phone calendar apps.
- Multi-Tenant Architecture from Day One: Ensures absolute tenant isolation across all scheduling tables using custom database schemas scoped by `teacher_id` with automatic backfill hooks during user creation.