Back to selected work
Client operationsClient projectPublic bookingAdmin opsClient auth

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

  1. 01

    Book

    Customers move through service discovery and appointment booking without admin clutter.

  2. 02

    Authenticate

    Client authentication supports protected customer-facing and owner-side flows.

  3. 03

    Operate

    Bookings, messages, invoices, add-ons, gallery content, and settings are modeled for the owner workflow.

  4. 04

    Verify

    Admin checks exercise protected paths so runtime business operations are not judged by build output alone.

Interface mapSmall-business operations map
Modules
  • Booking
  • Client auth
  • Gallery
  • Admin
  • Supabase data
Workflow
  1. Book
    services / appointments
  2. Operate
    admin / messages / invoices
  3. Publish
    gallery / site settings

Prototype flow

A small-business workflow linking customer booking, client access, public content, and owner-side admin operations.

Owner operations loop
  1. 01BookingServices + appointment

    The public site turns service interest into a concrete booking path.

    • service
    • time
    • client
  2. 02Client authProtected account

    Client access supports returning workflows without exposing owner-side operations.

    • sign in
    • profile
    • history
  3. 03Gallery/contentPublic site

    Gallery and content updates keep the business presentation current.

    • gallery
    • services
    • settings
  4. 04Owner admin opsAdmin workspace

    The owner manages bookings, messages, invoices, add-ons, content, and settings behind the public flow.

    • bookings
    • messages
    • invoices
Modules
  • 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.

Readout

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.

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.