Case study
TheFrenchMani
Small-business booking and admin workflow.
TheFrenchMani connects a customer-facing booking site with the admin operations a small service business needs to manage appointments and site content.
Snapshot
- Role
- Builder
- Stack / tools
- Next.js / React / TypeScript / Supabase Auth / Supabase Postgres / Vercel
- Timeline / status
- Client work / Client project
- Core users
- A small-business owner, returning clients, and customers booking services online.
- Problem class
- Small-business booking, client authentication, content operations, and owner admin.
- Location
- Remote
Problem
A service business website has to do more than look polished. It needs to help customers book and help the owner manage the operational details behind those bookings.
It matters because the user is making an operational decision with incomplete context: A small-business owner and customers booking nail services online.
Product decision
The product judgment was to keep the public site direct while giving the owner a real operating surface behind it. Booking, authentication, gallery/content, and admin workflows support the business instead of turning the site into a generic brochure.
- Classified it as client work so it supports the portfolio without competing with the flagship product builds.
- Kept the public booking path direct and the admin side focused on business operations.
- Preserved a production-minded verification path for authenticated admin work.
What I did not build or claim
- Not a marketplace or multi-business directory.
- Not an enterprise CRM rebuild for a small service business.
- Not a static portfolio site that leaves owner-side operations outside the product.
System / workflow
- 01
Book
Customers move through service discovery and appointment booking without admin clutter.
- 02
Authenticate
Client authentication supports protected customer-facing and owner-side flows.
- 03
Operate
Bookings, messages, invoices, add-ons, gallery content, and settings are modeled for the owner workflow.
- 04
Verify
Admin checks exercise protected paths so runtime business operations are not judged by build output alone.
- Booking
- Client auth
- Gallery
- Admin
- Supabase data
- Bookservices / appointments
- Operateadmin / messages / invoices
- Publishgallery / site settings
Prototype flow
A small-business workflow linking customer booking, client access, public content, and owner-side admin operations.
01BookingServices + appointment
The public site turns service interest into a concrete booking path.
- service
- time
- client
02Client authProtected account
Client access supports returning workflows without exposing owner-side operations.
- sign in
- profile
- history
03Gallery/contentPublic site
Gallery and content updates keep the business presentation current.
- gallery
- services
- settings
04Owner admin opsAdmin workspace
The owner manages bookings, messages, invoices, add-ons, content, and settings behind the public flow.
- bookings
- messages
- invoices
- Booking
Customers choose services and appointment context.
- Client auth
Returning-client paths can stay protected.
- Gallery/content
Public content supports the booking surface.
- Owner admin ops
Bookings, messages, invoices, and settings stay manageable.
The prototype keeps TheFrenchMani framed as client operations, not a static brochure.
Client project; private admin data and business metrics are not surfaced.
What shipped / what exists
- A public website with booking, client auth, gallery, and business-facing admin operations.
- Admin verification paths for protected workflows instead of relying only on static build checks.
- Supabase-backed runtime data for bookings, messages, invoices, business add-ons, gallery images, and site settings.
Architecture notes
- Next.js App Router and React.
- Supabase Auth and Postgres-backed app data.
- Vercel deployment target with Playwright-based admin verification when credentials are configured.
Evidence / proof
Live client project connecting public booking, client auth, gallery/content, and owner-side admin operations.
- Live client site at thefrenchmani.com.
- Repo supports lint, typecheck, build, authenticated admin verification, and admin E2E checks.
- Runtime app data is modeled for bookings, reviews, messages, invoices, business add-ons, gallery images, and site settings.
Constraints
- Client project; no revenue, conversion, or customer-volume claims.
- Business operations are summarized without exposing private admin data.
Visual artifact
No real project screenshots are tracked in this repository. The interface map is used as an honest structural proof panel, not as a screenshot or invented metric.
Next steps
- Keep the booking path shorter as service offerings evolve.
- Make admin alerts and owner-side status easier to scan.
- Continue tightening authenticated admin verification around the highest-risk workflows.
Interested in similar product work?
Reach out for internships, product work, or focused collaborations.