The problem
Off-the-shelf salon software is a patchwork: one app for booking, another for payments, a third for marketing, and a spreadsheet for payroll. None of them talk to each other, and none of them were built for how a hospitality-driven barbershop actually runs its floor. Cuutters needed a single system that could run the shop day-to-day and scale into a franchise.
What I built
A production operating system for the whole business:
- Live queue & booking — two-stage check-in (remote check-in → arrived), online booking, and self-service appointment management.
- In-person payments — Stripe Terminal POS live in production with a card reader, refunds and voids, and end-of-day drawer reconciliation with a per-stylist breakdown.
- CRM & retention — loyalty milestones with automatic credits, automated retention campaigns, appointment reminders, and a two-way SMS inbox (Twilio).
- Operations — inventory that auto-decrements on each sale, staff schedules, timesheets and payroll, tardiness reporting, performance goals, and built-in hiring and applicant vetting.
- Franchise-ready — an HQ dashboard with a system scorecard, location drill-down, royalty calculator, and alerts. Multi-tenant architecture with four-role auth is planned.
Engineering
- Security audit plus a Supabase Auth migration with row-level security across 24 tables.
- Refactored an ~18K-line monolith into a modular app with a ~2K-line shell.
- Design-token CSS system for consistent, themeable UI.
- Migrated hosting to Vercel.
Outcome
Cuutters runs on software it owns — one system instead of five, built around the way the shop actually operates, and ready to replicate across locations.


