404 Architect
Full MVP · case study

Booking & Ops Platform

Small field-service teams run bookings through phone calls, messages, personal calendars and spreadsheets — customers can't see real availability, staff have no single view of their work, owners spend the day reconciling status. This is a finished MVP that replaces all of it with one organization-scoped system: customers book, staff advance assigned work, owners run the schedule, catalog, people, reporting and audit trail. Korean and English.

Full source, docs & architecture ↗

The four role surfaces

Owner operations dashboard
Owner operations dashboard
Owner booking calendar
Owner booking calendar
Customer booking (mobile)
Customer booking (mobile)
Staff assigned work (mobile)
Staff assigned work (mobile)

The parts that were actually hard

The reason this is worth showing — the engineering, not the CRUD.

Conflict-safe booking

Showing an open slot isn't enough — another request can arrive first. Availability is computed from staff-service assignments, recurring hours, time off and existing bookings; a partial PostgreSQL GiST exclusion constraint is the final atomic authority. The app gives useful errors, the database makes the race impossible (409 on conflict, adjacent bookings stay valid).

Authorization with no accidental data exposure

Every query is scoped after authentication and membership resolution. Separate response schemas guarantee an internal note never reaches a customer response; owner-only dashboard, export and assignment operations are enforced by the API, not by hiding a route.

Operations views without a second data model

The dashboard aggregates real booking data over a bounded period; the calendar reuses the same filtered booking responses as a month grid or mobile agenda. List, calendar and reporting stay consistent because there's no parallel scheduling model.

Reproducible browser tests

The E2E flows create and mutate data, so each run spins up its own Compose project with temporary ports and a disposable PostgreSQL volume, seeds it, runs, and tears down on every exit path.

Stack
  • Next.js 16 App Router (ko/en surfaces)
  • FastAPI — auth, authz, booking rules, transactions
  • PostgreSQL 17 — integrity + atomic overlap guard
  • Docker Compose monorepo, shared design tokens
Quality gates
  • 22 backend integration tests (incl. near-concurrent booking)
  • 12 Playwright role journeys
  • axe WCAG 2.1 AA, keyboard, reflow, forced-colors, reduced-motion
  • Argon2id, rotating HttpOnly sessions, CSRF + origin allow-list
  • CSV formula-injection sanitization, append-only audit log
How this demo is built
Next.js 16FastAPIPostgreSQL 17Docker Compose

Built by the team, MIT-licensed. A hosted demo you can click through is coming; for now the full source, docs and architecture decisions are on GitHub. see the menu →

Need a booking or operations system?

This is the scale of web MVP we build — academies, salons, clinics, studios, anywhere bookings happen. New to freelancing, so the rate is below market and your build gets portfolio-piece attention.

Request a quote
← Back to the menu