Skip to content
georgepuma.dev

projectsstudio-equilibrio

Mini-case · Design to production, solo · 2.5 weeks

Studio Equilibrio

Demo SaaS for fitness studios — bookings, memberships, billing and analytics — built end to end from a business brief. A demo, held to the standard of a real product.

problem
A fitness studio lives on three flows that cannot fail: the class has capacity, the membership renews and the charge arrives with its receipt.
role
Commissioned by Junto AI as a sales demo to win clients. Design to production, solo: from brief to an end-to-end demo in 2.5 weeks.
scope
Class bookings with capacity · memberships and packages · billing with PDF receipts · retention analytics.
result

LCP < 2 s

mobile, 4G

30 E2E tests

Playwright

Next.js 16 · React 19 · TypeScript · Tailwind v4 · Supabase

The product, unretouched

Weekly class schedule: cards per day with class name, time, coach and capacity occupancy.
Schedule: every class declares its capacity — the booking is bounded from the calendar onward.
Members table with search, filters by status and plan, and CSV export: each row carries active membership, next charge, last class attended and status.
Members: membership, next charge and last attendance in a single row — the state of the business, per person.
Billing screen: cards with totals for overdue, failed, due and collected, and a table of renewals per member with concept, amount, due date, status and a button to record the payment.
Billing: overdue or due renewals, failed ones and recent payments — billing as a work queue, not a report.

Three decisions that hold up the rest

  1. Capacity lives in the class, not on trust

    Every class in the schedule declares its capacity and occupancy is read right there. Booking means taking a finite spot, and the weekly schedule — class, time, coach and capacity — is the source of truth for what can be sold.

  2. Renewal is a work queue

    Memberships and packages generate charges with a due date, and the billing screen sorts them by what demands action: overdue, failed, due, collected. Every payment is recorded and leaves its PDF receipt — billing is not an end-of-month report, it is daily operation.

  3. A demo held to production standards

    Built end to end from a business brief and covered by 30 E2E tests with Playwright, with LCP < 2 s measured on mobile over 4G. That is the point of the demo: the standard doesn't drop because the product is a sales piece.

What it left behind

The piece of the grid that shows full range on a tightly scoped commission: from the business brief to a navigable product — bookings, memberships, billing and analytics — operable end to end in the live demo.