mobslgcy
← All work

SaaS · 2024 — 2026

TyawithNio

Bookings, memberships and paid events for a wellness studio, with the back office to run it.

Role
Sole developer
Timeline
2024 — 2026
Stack
Next.js, Supabase, PostgreSQL, Better Auth, AWS S3
Links
Live site ↗ · 2 min read
The TyawithNio homepage: a calm, light yoga booking site with class scheduling and an editorial blog section.

The problem

TyawithNio is a wellness studio. It needed one place for class bookings, memberships and paid event registration, plus a back office the owner could run without a developer on call. I was the only developer.

What I built

The public site, the booking and payment flows, and the admin back office behind them.

lost registrations recovered
50%
route handlers in /api/v2
44
developer
1

Recovering half the registrations we were losing

Paid event sign-ups were dropping at the account-creation step. People wanted to pay, not sign up.

I let users pay as guests. The catch with guest checkout is double payment: the same person registers twice, once with an account and once without. So the duplicate check is keyed to either the account or the guest email, and nobody pays twice. That recovered 50% of the registrations that had been dropping.

A dashboard instead of a spreadsheet

Attendance was tracked by hand. I turned raw booking and payment data into a self-serve dashboard that rolls transactions up into per-day, per-class rosters. The owner reads it without help.

Uploads that don't cost more every month

Images are compressed on the device before upload, streamed to S3 in batched calls, and the replaced asset is deleted on every change. Mobile uploads got smaller, and storage stopped filling up with orphaned files.

The hard part: changing the foundations while the studio stayed open

The platform began on Firebase with NextAuth. I migrated the data to Supabase Postgres and auth to Better Auth, and folded the rewrite into a versioned /api/v2 of 44 handlers grouped by domain. Versioning meant the old and new paths could live side by side while clients moved over, rather than everything switching on one risky night.

Something here caught your eye?

Tell me about the product you’re building, the role you’re hiring for, or the problem you’re stuck on. Pick a coffee chat, a consultation or a hiring conversation.