LOG-02June 20265 min

A booking system that markets itself

A women's strength training studio in Miami needed what most small fitness businesses need: a way for someone to see a class and book it without a DM conversation. What shipped is a full platform, because the booking flow is the cheap part. The system around it is where the leverage lives.

The front of house

The public site does three jobs in one screen: shows the schedule, sells the plans, and books the class. Mobile first, because every visitor arrives from an Instagram bio link. The aesthetic matches the brand rather than a template, which matters more than developers usually admit: the site is the first rep of the training experience.

The referral loop

The part I care about most is invisible. Every booking can carry a referral: who sent you. Referrals are tracked as first-class records, not a coupon code afterthought, so the studio can see which members bring people in and reward them for it. A gym's best marketing channel has always been its members. The system just gives that channel plumbing.

The back of house

Behind a login, the owner sees classes, bookings, members, and leads in one place, backed by Postgres. No spreadsheet reconciliation, no scrolling DMs to figure out who asked about pricing last week. When a lead comes in, it exists in exactly one place with a status. The difference between a lead list and a lead system is whether anything happens by default.

What this build taught me

Two things. First, speed to live beats completeness: the site went up fast and grew features while real traffic hit it, which surfaced what actually mattered (schedule clarity, booking friction) over what I assumed mattered. Second, operations and marketing are not different systems in a small business. The booking flow, the referral loop, and the CRM are one machine. Build them as one and the business gets compounding instead of software.

Stack — Next.js · Neon · VercelStatus — Operational
← All notes