Selected work

Booking and operations

Kings World Transfer

A zero-to-one transfer booking and operations product I designed and built across route search, pricing, reservations, payments, documents, measurement, and operator handoff.

Visit live product
Kings World Transfer route search and booking interface

Public customer interface. Private operational screens and customer data are intentionally excluded.

Observed in production

Evidence, with a date attached.

GA4 and GSC snapshot for 29 June–26 July 2026. AI referral sessions are observed GA4 referrals from ChatGPT and Gemini for 19–25 July 2026; they are not total AI visibility or a revenue claim.

GA4 sessions · 28 days
1,399
GSC clicks · 28 days
524
AI referral sessions · 7 days
7

Context

The product behind the interface.

Context

Airport transfers look simple from the outside. The product has to turn two locations, a date, passengers, and a vehicle choice into a reservation the operations team can fulfil.

Problem

The customer journey and operational workflow cannot drift apart. Pricing, payment state, documents, attribution, and the downstream operator record need to describe the same booking.

My role

I owned the product end to end: discovery and UX, responsive booking interfaces, backend routes, relational data, payment and document states, operator integrations, production delivery, and acquisition measurement.

What I built

A complete working flow.

  • A customer flow for route, date, passenger, and vehicle selection
  • Geospatial and zone-based quote logic with server-side validation
  • Reservation and payment workflows with separate states
  • Voucher and invoice generation from structured booking data
  • Operator handoff through a dedicated integration
  • Attribution that connects acquisition activity to the product flow
  1. 01Route and time
  2. 02Validated quote
  3. 03Reservation
  4. 04Payment
  5. 05Documents
  6. 06Operator handoff

Product and technical decisions

The choices that shaped the system.

01

Keep pricing on the server

The interface can explain a quote, but it should not be the source of truth. Server-side pricing keeps location rules, vehicle availability, and currency handling together.

02

Model payment separately

A payment can fail, retry, or return later. Keeping it distinct from the reservation avoids treating every checkout attempt as a completed booking.

03

Generate operations from one record

Documents, notifications, and operator records are created from the same reservation model, reducing manual copying and making failures traceable.

What the system enables

What the system makes possible.

  • One continuous path from quote to operational handoff
  • Customer documents and operator notifications derived from the booking record
  • Product, acquisition, and search behaviour measurable without exposing private operations

Challenge

Money, documents, and operator state must remain consistent when a webhook retries or an external service is temporarily unavailable.

What I learned

The most useful abstraction was a clear booking state model shared by customer, payment, document, and operations workflows.

  • Next.js
  • React
  • TypeScript
  • PostgreSQL
  • Prisma
  • REST APIs
  • Maps and geospatial logic
  • Email and PDF generation