Skip to content

QuarterNote · Public beta

Learn from the players behind the legends.

How we built a vertical marketplace where students learn from verified touring and session musicians — AI natural-language teacher matching, Stripe Connect split payments, an in-app lesson room with an AI notetaker, and a full school tenancy layer with master scheduling and payroll. Microsoft shut TakeLessons down in late 2024 and left the lane open; QuarterNote takes it with the studio toolkit and the AI the incumbents don't have.

DB tables
29
DB tables
AI surfaces
6
AI surfaces
Routes
53
Routes
Customer types
3
Customer types
Product
QuarterNote
Industry
Music Education · Marketplace
Services
Product + full-stack development
QuarterNote — the verified-pro music lesson marketplace
quarternote.ai — verified touring and session pros, bookable
The challenge

Nobody brings teachers students.

The two incumbents in music-lesson software — MyMusicStaff and Opus1 — are studio-management SaaS, not marketplaces. They help a teacher run admin; they do not bring that teacher a single student. Teachers consistently name marketing as their weakest skill and admin as their biggest time sink, and the one product that solved the first problem was shut down by its owner.

A vacated leader

TakeLessons — the dominant music-lesson marketplace, owned by Microsoft — closed in late 2024, stranding thousands of teachers and students. The demand did not go anywhere. The supply is running on spreadsheets, DMs, and manual bank transfers.

A misaligned business model

A flat subscription pays the vendor whether or not the teacher grows. Bolting lead generation onto that model breaks it — which is exactly why the incumbents haven't. We took the harder structure: a percentage only when we supplied the demand.

A trust problem, not a listing problem

Anyone can list themselves as a music teacher. The hard part is proving the person on the other end of the call actually toured, actually recorded, actually played on something you've heard. Verification is the product, not a badge.

Three customers, one ledger

Students pay per lesson, teachers pay for tools, schools pay for tenancy — and any of them can arrive through us or bring their own roster. The fee rule has to be decided per lesson, not per account, or the whole model collapses into special cases.

Our solution

A marketplace with a studio inside it.

Discovery, booking, money, the lesson itself, and everything after it — in one product, with AI doing the parts a teacher would otherwise do at 11pm.

01

AI matching, grounded in the real roster

A student describes what they want in plain language — "I want to get better at funk bass and I've played for two years" — and the matcher returns teachers. It is constrained to return only IDs from the live teacher list, so it can recommend but never invent a person who doesn't exist.

02

Stripe Connect destination charges

The student pays the full price on the platform account; our cut is retained as an application fee and the remainder transfers straight to the teacher's connected account. Refunds reverse the transfer and the fee together. The webhook — never the client redirect — is the source of truth.

03

The lesson room writes its own notes

Lessons run in an in-app Daily room with live transcription. When the teacher ends the lesson, the transcript flows into the same recap pipeline that handles quick typed notes, and the student gets a structured recap and a practice plan without the teacher writing one.

04

Schools as a tenancy layer

A school owns an organization, teachers join it while keeping their own profile, and students enroll. The school gets a master schedule across every teacher, its own students and lessons, read-only recaps, earnings, and a payroll engine with five compensation rule types — billed as a Stripe subscription entirely separate from the Connect payout flow.

The key insight

Attribution decides the fee — not the account type.

The money model is one sentence: a monthly fee for the tools, a percentage only when we bring the student. That reads like pricing copy, but it is really an architecture decision. At booking time a single function resolves attribution and stamps the lesson as marketplace, school, or teacher_own. Anything that isn't marketplace is fee-exempt, through exactly the same mechanism as the manual exemption flag. One teacher can pay a subscription for their own students and a percentage on the ones we sent, in the same week, with no special-case billing code anywhere.

The cancellation policy is a pure function

Teacher cancels, or student cancels 24h+ ahead, full refund. Student cancels inside 24h: no refund, but a teacher-specific makeup credit with a 90-day life, redeemable as a free booking with no Stripe involved. The Stripe refund always runs before the lesson flips to cancelled — money never gets stranded in a cancelled record — and cancelling reopens the slot.

Technical architecture

Stack and pipeline.

Application & money

  • Next.js 16 (App Router), React 19, TypeScript strict
  • Postgres (Neon) + Drizzle ORM — 29 tables, versioned migrations
  • Auth.js v5, JWT sessions, role + capability-flag guards
  • Stripe Connect Express — destination charges, reversible refunds
  • Stripe Billing for school subscriptions, mirrored via webhook
  • Capability-linked lesson join page: no login, time-bounded

AI, comms & jobs

  • Vercel AI SDK v6 through the AI Gateway — Claude, model by env
  • Six AI surfaces: recaps, matching, prep, coach, progress, bio writer
  • Daily.co lesson room with live transcription into the recap pipeline
  • Resend email + Twilio SMS, best-effort fan-out that can never break a booking
  • Vercel Cron — hourly lesson reminders, fails closed in production
  • Cloudflare R2 — public bucket for attachments, private bucket for W-9/1099
What it does

Feature pillars.

Verified pros

Teacher profiles built around real touring and session credits — the pedigree is the listing, not a tagline.

Natural-language search

Describe the player you want; the matcher returns real teachers from the live roster, never an invented one.

Scheduling that holds

Availability, open-slot booking, recurring weekly lessons that reserve four instances ahead, cancellations and makeup credits.

AI after the lesson

Recaps and a notetaker, lesson prep that picks up where you left off, a student practice coach, and progress insights.

Everyone stays in touch

In-app threads per teacher–student pair, in-app notifications, plus email and SMS reminders on an hourly cron.

Schools and payroll

Org tenancy, master schedule, co-admins, and five teacher-compensation rule types computed from lessons actually taught.

The results

A marketplace that can also be the software.

29
Database tables
53
Routes shipped
6
AI features live
0
Manual payouts

For teachers and schools

  • Students arrive without the teacher doing any marketing
  • Getting paid is automatic — no collect-keep-share-pay loop
  • Admin, scheduling, recaps and reminders in the same product
  • No percentage on students the teacher or school brought themselves

For the business

  • Two revenue lines — marketplace take rate plus tools subscription
  • Aligned incentives: we only take a cut when we created the demand
  • Ad spend centralised, not scattered across teachers' small budgets
  • The public surface is generated, so every live teacher is indexable
Where we drew lines

What we refused to ship.

No paid placement in AI ranking

Featured slots are designed as a labeled box only. Paid placement never silently re-ranks organic or AI results — the trust wedge is the whole product.

No invented progress

Every recap-derived AI surface is instructed never to claim a student improved at something the recaps don't show. A false compliment from a practice coach is worse than silence.

No rating without reviews

Teacher profiles only emit AggregateRating schema when real reviews actually render on the page. Schema that claims what a visitor can't see gets demoted — and quoted wrongly by answer engines.

Built with

Technology stack.

Next.js 16React 19TypeScriptTailwind CSS v4Neon PostgresDrizzle ORMAuth.js v5Stripe ConnectStripe BillingDaily.coVercel AI SDK v6Vercel AI GatewayResendTwilioCloudflare R2Vercel Cron
See it live

Want a marketplace like this?

Browse QuarterNote's verified pros at quarternote.ai — or tell us about a two-sided market of your own that needs payments, scheduling, and AI in one product.