Portfolio / Custom digital product
From a request to a coordinated operation.
La Tía de la USA moves passengers around Miami, Fort Lauderdale, Palm Beach and Orlando with a private chauffeur. The service was always personal — a dispatcher owns every trip — but it lived scattered across forms, calls, emails and payments taken on the side. We designed and built the system that holds it together: an estimate on the site, a structured booking, human review, an invoice paid through a secure link, a private trip portal, and a dashboard where the team runs all of it.

01The brief
The service was already good. The process was invisible.
In executive transport the product is certainty: that the car is there, that the price is the one quoted, that someone answers when the flight is late. La Tía already delivered that — a dispatcher delivered it, trip by trip — but the road to it was a form here, a call there, a confirmation email, a payment taken somewhere else, and a sheet tracking which vehicle was free.
That scattering does not show at three trips a day; it shows at thirty. The brief was to take friction out of the operation without taking the personal out of the service: let the site prepare a complete request, and let the team keep deciding the final price.
Before: loose ends
- 01Requests by form and by phone
- 02Quotes written by hand
- 03Confirmations over email
- 04Vehicle availability on a sheet
- 05Payments and balances outside
- 06Changes and cancellations over chat
Our role
Product, design and development end to end: the public experience, the instant estimate, the booking flow, the trip portal, the operations dashboard, and the billing and email integrations. One team from first screen to last.
02Architecture
Three surfaces, one booking.
These are not three products. They are three views of the same trip, each carrying what its reader needs to decide and nothing else.
To decide before writing.
Services, fleet by vehicle type, coverage, what every reservation includes, and an estimate that calculates itself. The visitor reaches the conversation already knowing what they are asking for and roughly what it costs.
To coordinate the day.
A dashboard with new, confirmed and upcoming reservations, calendar, clients, vehicles, add-on services, quotes, invoices, payments, balances and team roles.
To follow a trip without chasing anyone.
Each booking can open a private link where the passenger checks their trip and handles changes, so an update no longer depends on someone sending a message by hand.
03The idea
What the system had to prove.
The brand promises trust. The system makes it operable.
A luxury transport site can look immaculate and still leave the client with no idea what happens after the form is sent. Here the promise rests on the process: the estimate says it is an estimate, the dispatcher's review is explicit, the price is approved before anything is charged, and every change lives at a link the passenger can open.
That is why the instant estimate does not close the sale on its own. It prepares the request, avoids the half-finished conversation, and leaves the concierge the decision that is genuinely human: which vehicle, which route, which final price.
QuoteCoordinateCharge
04The system
From estimate to coordinated operation.
A single booking passes through every piece. These are the systems holding it up and what happens to it along the way.
Site · React
Public experienceMapLibre
Routes and zonesSupabase
Data and accessSquare
Invoices and paymentsSendGrid
Transactional emailPortal
Private trip link
- 01
Estimate on the site
The visitor picks service, pickup, drop-off, date, vehicle, passengers and add-ons. The system returns a contextual estimate and says so plainly: this is an estimate, nothing is being charged yet.
- 02
Booking request
The estimate hands its data to the form, so nobody retypes the route or the date. Luggage, special notes, contact language and an anti-bot check are added before it is sent.
- 03
Concierge review
A dispatcher checks real vehicle and chauffeur availability, adjusts whatever needs adjusting, and sets the final price. This is the step software does not replace — it prepares it.
- 04
Confirmation
The booking moves to confirmed with its breakdown. Vehicle, timing, pickup point and add-ons are written where the trip will later be operated.
- 05
Invoice and payment link
The quote or invoice is issued and the client receives a secure payment link. Card details never touch the site: they live at the processor, and the system only listens for the result.
- 06
Payment, balance, refund
Payment status flows back to the booking. The team reads charged, outstanding and refunded without leaving the dashboard or reconciling figures by hand.
- 07
Trip portal
Each booking can open a private link for the passenger: their trip, their breakdown and their changes, with no account to create and no password to remember.
- 08
The day's operation
Calendar, assigned vehicles, add-on services, statuses and team. Whoever is dispatching sees the whole day on one screen instead of five tabs.
- 09
Passenger notice
Confirmations, reminders and changes go out as transactional email, in the language the client chose when booking.
One booking · nine legs · a single record
05Public experience
Everything that can be settled before anyone talks.
Sedan, SUV or Sprinter.
The fleet is presented by what the trip needs — executive discretion, space and luggage, or a cabin for a group — with real photography of each category instead of a catalogue of spec sheets.
Three steps, price settled before you pay.
Send the request, get a dispatcher's review with an itemized breakdown to approve, and receive the chauffeur's details in advance. Each step states what happens next, which is exactly what a form usually leaves unsaid.
What is not billed separately.
Flight tracking, airport wait time included, meet and greet on request, child seats and extra stops, one fixed quote with no surge, and a private link to change or cancel.
06The system
What holds a booking up.
Not campaign metrics — the conditions that let the process repeat thirty times a day without dropping a field.
- 3
- Surfaces over one booking
- 9
- Legs from estimate to trip
- 2
- Languages and currencies
- 0
- Card details touching the site
07The brand inside the product
A serif logotype in an operational interface.

The logotype comes with the brand
A high-contrast italic serif with no separate mark. Our job was not to redraw it: it was to decide how it lives alongside forms, tables and statuses without losing its service tone.
Where it appears
Floating nav, footer, transactional email, invoices and the trip portal. On light it goes in ink; over photography or over ink, the white version.
Gold, held back
Gold is reserved for hairlines, labels and one action button. The less of it there is, the more expensive it reads — and an operational interface needs color to mean status, not decoration.
Approved grounds




Use the version that contrasts
Ink on paper, white on ink or on dark photography.
Do not set it in gold
Gold is the system's accent, not the logotype's color.
Do not stretch or slant it further
The italic is already in the drawing. Always scale from a corner.
Do not drop it on the engine of the photo
Over imagery it goes in a clean area, in the light version, never across detail.
Do not pair it with another serif
The interface has two families: the serif of the headline and the sans of the data.
08Visual system
Obsidian, paper, and gold held back.
Primary surface
- HEX
- #FBFAF6
- RGB
- 251 · 250 · 246
Text · Authority
- HEX
- #101010
- RGB
- 16 · 16 · 16
Hairlines · Labels
- HEX
- #B9954D
- RGB
- 185 · 149 · 77
Legible accent
- HEX
- #8F6F2F
- RGB
- 143 · 111 · 47
Confirmed · Paid
- HEX
- #3F7D53
- RGB
- 63 · 125 · 83
09Typography
A serif that narrates, a sans that reports.
Cormorant Garamond
Aa Bb Cc — 0123456789
Light 300 · Regular 400 · Medium 500
Jost
Aa Bb Cc — 0123456789
Light 300 · Regular 400 · Medium 500
Jost · small caps
Aa Bb Cc — 0123456789
Medium 500 · SemiBold 600
Your chauffeur awaits.
clamp(40–72) · -2% · 400Three steps, and the price is settled.
clamp(30–48) · -1% · 400Dispatch confirms
clamp(22–30) · 0 · 500The price on the site is an estimate and nothing is collected at this point: a dispatcher reviews the trip and sends you an itemized breakdown to approve.
16 / 26 · 0 · 400Booking confirmed · vehicle assigned
11 / 15 · 16% · 500 UP10The product
The public side and the inside.

The estimate module lives in the first screen: route, date, time and passengers before any conversation starts.

The fleet is chosen by the trip: a sedan for an executive run, an SUV for space and luggage, a Sprinter as a cabin for a group.
| Booking | Status | Vehicle | Route |
|---|---|---|---|
| MIA · 07:40 · arrival AA1123 | Confirmed | Sedan | MIA airport → Brickell |
| Charter · 4 h · corporate | To confirm | SUV | Downtown → Fort Lauderdale |
| Group · 11 passengers | Quoted | Sprinter | Miami Beach → Palm Beach |
| Transfer · afternoon | Paid | Sedan | Coral Gables → MIA |
| New request · unreviewed | In review | — | Orlando · date to confirm |
Two bookings are waiting on review before they can be invoiced. The 07:40 flight moved up twenty minutes: pickup is already adjusted and the passenger was notified through their portal.
The dashboard rebuilt with fictitious bookings: trip status, assigned vehicle, route and billing. The client's real operation is not published.
11The result
A beautiful site does not coordinate a trip.
What shipped is not an identity with a contact form attached: it is the layer that connects the passenger, the dispatcher and the operation over one record. The client requests from the site, the team decides and bills from the dashboard, and the passenger follows the trip from a link of their own — with nobody rebuilding the information at every step.
It is built to grow where this business grows: more vehicles, more services, more languages and more pricing rules are configuration inside the system, not a rebuild. And because payment lives at the processor and access lives in the database, adding someone to the team means granting a role, not sharing a password.
Stack
- 01React 19 · TypeScript · Vite
- 02Tailwind CSS · Motion
- 03MapLibre and Leaflet
- 04Supabase · Postgres · RLS
- 05Serverless edge functions
- 06Square · invoices and payments
- 07SendGrid · transactional email
- 08PDF and reCAPTCHA
How it is operated
The dispatcher reviews the request, adjusts vehicle and price, issues the invoice and confirms. Everything else — notices, portal, balances and calendar — updates itself from that decision.
The work continues
When the service is the product, the process is the design.
If your operation runs on calls, sheets and payments taken on the side, and every new client adds manual work instead of removing it, this is exactly what we build: the system that holds up the promise your brand is already making.
Tell us about your project