← All work·Case study 01

Trex CRM: a keyboard-first crm for an airline booking team — built around the workflow, not the database schema.

A keyboard-first CRM for an airline booking team — built around the workflow, not the database schema.

Frontend leadNext.jsTailwindPostgreSQL
Trex CRM
Role
Frontend lead
Year
2024
Stack
Next.js, Tailwind, PostgreSQL
Status
Shipped

01 — Why it mattered

Booking agents were jumping between tools to handle a single quote — and the CRM was the slowest stop on the loop.

A keyboard-first CRM for an airline booking team — built around the workflow, not the database schema.

02 — Problem

The legacy CRM was mouse-first and form-heavy. Agents moved between dialer, calendar, and notes to finish one quote. The data was right; the interface was in the way.

03 — Approach

Rebuilt the workspace around a command palette and keyboard-first navigation. Pipeline, follow-ups, and notes live one shortcut away. Routes stream where it makes sense; the heavy data tables are virtualised.

04 — Build

Component library first, screens second. Tailwind tokens lifted from the brand work, typed end-to-end with TypeScript. Shipped in a tight loop with the booking team dogfooding nightly builds.

05 — Outcome

A client-rendered workspace that paints in under a second and holds still while it does — 784ms LCP, 227ms TTFB, and a cumulative layout shift of 0.004 against a 0.1 threshold. The keyboard layer replaced the spreadsheet habit it was built to compete with.

LCP
784ms
measured, Chromium desktop
TTFB
227ms
median of 3 runs
CLS
0.004
threshold is 0.1

06 — Reflection

The leverage was not in adding features. It was in removing clicks. Every shortcut we shipped paid back the same week.

Visit live site

Next →Sufi Travel & ToursA travel agency platform that handles flights, hotels, and packages without lying to the customer about availability.2024
N° 04 · Let's work

Have a thing
worth building?

I take on a handful of engagements at a time. Tell me what you have in mind — the earlier we talk, the better the chance I am free.