Case Study — Design Engineering
Zenith Air
From zero to a live luxury charter platform — solo.
View Prototype →Private jet charter is stuck in the past. Most bookings happen over the phone. The few digital options feel like filing a form, not booking a 0k experience.
Everything. Brand naming, visual identity, component design, React build, deployment. No team. No Figma handoff. Just a vision and a willingness to figure it out.
Skipped mockups entirely. Built a brand foundation first — name, palette, typography — then went straight to React. The browser was my canvas.
A live, clickable luxury charter platform. 7-step booking flow with shared component state. And a new mental model for how I work as a designer.
01 — Problem
High-net-worth travelers don’t buy a seat. They buy certainty.
For clients spending 0,000+ on a single flight, the experience should match. It doesn’t. Existing platforms feel transactional — built for efficiency, not for the feeling. No one was delivering that digitally. Zenith Air is my attempt to close that gap.
“I’d never written a React component before this project. That felt like a reason to start, not a reason to wait.”
02 — Design Decisions
Three decisions that shaped everything.
Brand before code
Warm off-white, deep charcoal, champagne gold — used once. Cormorant Garamond for headlines. The goal was old money, not new.
Motion = restraint
Everything drifts in slowly. Nothing bounces. Only the progress rail and content card animate. The header stays fixed. Restraint is luxury.
Components talk
Pick Light Jet → passenger cap drops to 7. Choose Round Trip → calendar shifts to range mode. State flows through the BookingShell.
03 — Build Process
No Figma. No mockups. Straight to React.
I skipped Figma entirely and built directly in code. That’s uncomfortable for a UX designer. But I’d seen enough handoff gaps to know that designing in one medium and building in another always costs something — fidelity, intent, time.
The BookingShell came first — the master container everything lives inside. Getting the wordmark, progress rail, and navigation right before touching a single form field forced me to think about the whole experience first.
04 — What I Learned
The line between designer and engineer is thinner than the industry pretends.
As a UX designer I mapped arrows between screens to show relationships. Now I build those arrows in code. The mental model is the same. The medium is different.
Constraints are generative. Building directly in React meant every design decision had to be buildable. No “we’ll figure that out in dev.” That accountability made me more precise.
Knowing when to stop pushing a bad solution is a skill. The jet silhouettes failed three times. I found better SVGs and moved on. That’s also design.
Shipping something real is more valuable than perfecting something that never launches. Zenith Air has rough edges. But it’s live, it’s clickable, and it taught me more than months of mockups.
05 — What’s Next
Phase 1 is live. Three more phases planned.
Client Booking Experience
Full charter flow — route, aircraft, catering, ground transport, confirmation. Live now.
Client Deepening
Saved profiles, preferred aircraft, booking history, real-time availability.
Operations Layer
Backend integration, data persistence, ops dashboard for the coordination team.
Full Ecosystem
Flight crew portal, broker integrations, analytics and reporting.