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



Three decisions that hold up the rest
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.
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.
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.