
Dribba
Frontend for Andorra.com, a travel booking platform.
Frontend developer on Andorra.com, a Next.js and TypeScript e-commerce platform where visitors book experiences, hotels, taxi/VTC rides and bus tickets. I own the component architecture and state management integration, working directly with the backend and design teams.
Overview
Travel e-commerce puts several very different products — activities, hotel stays, rides and bus tickets — behind one storefront, and the frontend has to make them feel like one purchase flow.
My remit is the component architecture and how state moves through it — the decisions that determine whether the next feature is a small change or a rewrite.
Problem
Each product type has its own availability, pricing and booking rules, but the customer expects one consistent way to search, choose and pay.
Frontend state spanning GraphQL data, UI state and cross-route concerns degrades quickly without a deliberate separation.
Solution
- Component architecture designed around the boundaries that actually change, rather than around page layout.
- Zustand for application state with server data kept out of the store, so the two are never confused.
- Close collaboration with backend and design so the GraphQL contract and the component contract move together.