Independent service businesses — salons, barbers, spas, nail techs — are stuck between marketplace apps that take a cut on discovery and a patchwork of booking, payments, and client tools. As founder and full-stack developer, I built Bizee (bizee.life): a supply-first SaaS platform where each business owns their client relationship, shares their own booking link, and runs operations from one dashboard. The product is live in production with Stripe subscriptions, a full client portal, and phased features that close real competitive gaps — walk-in queue, share-link growth kit, installable PWA, and owner referrals — validated with 76 Playwright E2E tests and production smoke suites.

Own the client. Skip the marketplace tax.
Project overview
Bizee is operator software, not a consumer marketplace on day one. The bet: onboard businesses, give them a branded link, and let them bring their own clients — then add discovery density only when one metro has enough supply to justify it.
The challenge
Booksy, Fresha, and StyleSeat set expectations: walk-in queues, native apps, client discovery, and polished mobile flows. Rebuilding all of that before a single paying shop would be a three-month detour. The goal wasn’t feature parity with incumbents. It was shipping thin slices beta testers can feel in one session — then iterating from feedback.
- Lean team — founder-led full-stack, no dedicated design agency
- Honest product — no fake “AI competitor analysis”; benchmarks had to be real or labeled
- Mobile without App Store — PWA first, native later if pilots demand it
- Rebrand in flight — BizAssist → Bizee on one deployable codebase
- Production bar — Neon Postgres, Stripe billing, accessibility on client-facing UI
My role
I owned product direction, architecture, and implementation end to end: Next.js multi-role app, Prisma schema and migrations, Vercel production deploy, Stripe subscription flow, beta sandbox program, competitor research, and phased execution plans. I also used AI-assisted development (structured specs, agent implementation, persistent project memory) to move from plan to prod smoke without sacrificing test coverage.
Three pillars
- Operator core — Booking, calendar, CRM, cart/checkout, promos, reports, and CSV client import — the system a shop actually runs on. Multi-role UX lets owners preview the client experience without a second login circus.
- Competitive slices (not a marketplace) — Walk-in waitlist with SMS/email notify, share-link kit with booking outreach, installable owner + client PWA, and owner-to-owner referrals. Each phase shipped to prod with its own smoke test. Marketplace browse stays density-gated until 20+ businesses in one metro.
- Launch & validation — Production at bizee.life, Glow Studio demo at /demo for sales conversations, private beta with 8 sandbox testers, and 76/76 chromium E2E tests plus feature-level prod smokes (walk-ins, share, PWA, refer).
Exploration & discovery
Competitor research & positioning
Web-sourced comparisons (Booksy, Fresha, StyleSeat, Vagaro) drove a clear stance: no commission on the business’s own clients, subscription SaaS instead of marketplace tax. That became the GTM doc and every landing message.
Honesty on “market intelligence”
Early service-creation UI used static price objects — misleading if labeled “competitor analysis.” I replaced that with DB-backed market benchmarks, regional compare logic, and dashboard widgets fed by real seeded data (Phase 9b). Marketing claims had to match what the app actually did.
Phased competitive gaps
Instead of a monolithic “close Booksy” project, I sequenced WL → SL → PWA → REF → MKT with explicit gates: beta testers stable (G0), owner validation of walk-in/share pain (G1), metro density before marketplace (G2). Each phase had a checklist, docs, and a prod smoke script.
Beta before pilots
A 4+4 sandbox program at /beta (owners + clients on Neon prod) with outreach copy and a feedback tracker — prove login, book, and pay paths before concierge onboarding real shops.
Build & process
Stack: Next.js, TypeScript, MUI, Prisma, Neon Postgres, Stripe, Twilio/Resend, deployed on Vercel. Delivery rhythm: execution plan → implement → E2E + prod smoke → update state/roadmap → sync project memory. Competitive gaps followed the same loop — schema, API, owner UI, notify integration, smoke, deploy.
Supply-first flow
Owner onboard → services + link → client books/pays on business URL → relationship stays with the business.
Impact
Production SaaS, not a prototype
- Live at bizee.life with Neon Postgres and Stripe subscriptions (3 tiers, 14-day trial)
- 76/76 Playwright E2E tests (chromium)
- Prod smoke suites passing for walk-ins, share kit, PWA, and referrals
Scope shipped
Multi-role platform: owner dashboard, client portal, cart/commerce, CRM + CSV import, pricing intelligence benchmarks, document module with OCR/OpenAI pipeline, walk-in queue, share outreach, PWA install prompts, owner referral program, admin views, marketing demo hub.
Beta & sales readiness
Not claimed publicly: revenue or paying customer count — pre-pilot / beta.
- Glow Studio demo for Loom and prospect conversations
- 8/8 beta testers contacted; sandbox accounts on prod
- Portfolio and landing visuals shipped with this case study
Reflections
- Supply-first saved months — gating the marketplace until density meant shipping operator value first.
- Thin slices beat parity projects — walk-ins and share kit answered real tester pain without a Booksy rebuild.
- Tests are the contract — E2E and prod smokes made solo-founder deploys survivable.
- Story lags code — the product was real before the landing page and portfolio had visuals; packaging is its own phase.
Product shots
Swipe for more →


