BUILD

Client Studio

A self-hosted app for coaches, trainers and tutors: sell session packages, get paid, let clients book their own times, and send newsletters, all from a phone.

STACK
Next.js 16 · React 19 · TypeScript · SQLite
HOW IT'S BUILT
FROM THE README

What's under it.

  1. Concurrency-safe booking

    A booking is checked again inside a database transaction, so two clients can't take the same slot. Cancelling re-checks its window in the same write.

  2. Availability that survives daylight saving

    Open times intersect weekly hours with time off, buffered sessions and the notice period, built from the local wall clock so DST days come out right.

  3. One renderer for the email and its preview

    The newsletter builder's live preview runs exactly the code that sends.

  4. Cut on purpose

    Moving from PHP to TypeScript removed what cost more than it gave: paid auto-texting, calendar import, image hosting. Texts open in the owner's own Messages app instead.

INTERACTIVE DEMO
The owner's whole app (Schedule, Clients, Hours, Newsletter, Templates) and a client's private page, running in your browser on made-up data. Changes carry across tabs; nothing is saved or sent.
THE OWNER'S APP
Tidewater Coaching ·
7
Sessions next 7 days
$1,320
Awaiting payment (3)
$540
Paid in November

Venmo to confirm

They say they’ve paid. Check your Venmo for the amount and note code, then confirm.

Time to renew

Not sent yet

Did these happen?

Upcoming

Thursday, November 12
Saturday, November 14
Monday, November 16
Tuesday, November 17
Thursday, November 19
Saturday, November 21
Monday, November 23
Tuesday, December 1

Nothing booked

THE CLIENT'S PRIVATE PAGE · PAY AND BOOK
Tidewater Coaching

For Alex

Your Sessions.

Hi Alex, here are your next five. Pay when you can, then grab the times that suit you.Maya

Five Private Sessions

5 sessions with Maya · 3 left
$380

Strength and mobility, 60 minutes each.

To @tidewater-maya · keep #C7F3A in the note so Maya can match it

Your sessions

  • Thu, Oct 29 · 9:00 AM
    Done ✓ · 60 min · Harbor Street studio
  • Thu, Nov 5 · 9:00 AM
    Done ✓ · 60 min · Harbor Street studio
  • Thu, Nov 12 · 6:00 PM
    60 min · Harbor Street studio

2 sessions left to book. Booking opens once you’ve paid. Tap “I’ve Sent It on Venmo” after paying.

Questions? maya@tidewater.example