All Work
Product BuildDelivery operations

1st Class Concierge

A multi-tenant delivery operations platform. Inbound requests arrive by email or API, dispatchers assign drivers, deliveries track live on a map, and proof of delivery closes the loop — across five roles and any number of organisations.

1st Class Concierge — Sign in — captured from the running app. Authenticated screens were deliberately not captured.
Sign in — captured from the running app. Authenticated screens were deliberately not captured.

The problem

A concierge delivery business runs on coordination that mostly happens in messages. A request arrives by email, someone works out which driver is free, the driver texts when they arrive, and the proof that it was delivered is a photo in somebody's phone.

The platform turns that into one system: intake, assignment, live tracking, and proof of delivery — with a record at every step that a client can be shown.

Five roles, one product

Dispatchers, drivers, store owners, organisation admins and a platform super-admin all use the same application and see almost entirely different things. A driver needs one screen and a big button; a dispatcher needs a map and a queue; a store owner needs their own orders and nobody else's.

That separation is enforced in the database with row-level security rather than only in the interface, which is the part that matters: a permissions bug in a delivery platform is a customer's home address shown to the wrong person.

Gold on near-black

The brand is a single gold against a blue-shifted near-black, and the sign-in commits to it completely — the product introduces itself as a premium service before asking for a password.

It is an unusual choice for an operations tool, where the convention is a neutral admin grey. The argument for it is that dispatchers look at this screen all day and the clients being served are paying for a luxury service; the software should not feel cheaper than the offering.

Under the interface

The stack maps almost one-to-one onto the operation. Resend takes the email intake, Google Maps carries the live tracking, Stripe handles billing, and Checkr runs the background checks that gate driver onboarding — sixty-seven screens over a Supabase Postgres database of twenty-five-plus tables and ninety-two migrations.

Row-level security is the load-bearing wall. Five roles across any number of organisations share one database, and the rule that a store owner sees only their own orders lives in Postgres policies rather than in the interface — the earlier point, made concrete in the schema.

Palette

Primary

#A07100

Gold — the whole brand

Accent

#A28137

Softer gold

Dark ground

#030608

Near-black, blue-shifted

Dark foreground

#EAE8E0

Warm off-white

Light ground

#F9F8F6

Light theme

Scope

Screens
67
Migrations
92
User roles
5
Tables
25+

What we did

  • Product design
  • Interface design — 67 screens
  • Multi-tenant data model
  • Full-stack build
  • Real-time tracking
  • Driver onboarding

Built with

  • Next.js
  • React 19
  • TypeScript
  • Tailwind 4
  • Radix UI
  • Supabase
  • PostgreSQL
  • Google Maps
  • Stripe
  • Resend
  • Checkr
  • Playwright
  • Vitest