Travel Route Planning & Booking Platform
2026 - Today
Route based trip planning with per date room inventory, in app booking and card payments.
- React Native
- NestJS
- GraphQL
- Prisma
- PostgreSQL
- Stripe
My role: Lead developer and architect
A cross platform travel application that lets travellers plan a multi stop route through a country, discover curated points of interest along the way, and book accommodation, activities and transport without leaving the app. It is three codebases: a React Native app for travellers, a Vite and React admin dashboard for the operations team, and a NestJS API exposing a single Apollo GraphQL schema over PostgreSQL through Prisma.
The data model is the interesting part. Curated routes carry ordered stops plus GeoJSON leg geometry between each consecutive pair, pins hold their own photos, links and tags, and every traveller works on a personal copy of a route they can reorder and tick off as they travel. Accommodation is modelled as room types with separate pricing and inventory calendars rather than a single nightly price, so availability is derived per date behind a unique room type and date constraint, and a booking is written inside a transaction that cannot oversell a night. Payments run through Stripe payment intents, with a webhook endpoint reconciling payment state and refunds issued against the original intent, and pricing is decimal all the way down rather than floating point. Display currency was deliberately kept boring: euro is the settlement currency, a nightly job caches central bank rates for the supported display currencies at six decimal precision, the app reads only that cache and never falls through to a live rate API, and a failed refresh leaves the last known good rates in place instead of blanking prices.
Other notable pieces include a polymorphic external reservation record, so a traveller can log a booking made outside the platform against the same trip and still see one coherent itinerary, cron driven booking state transitions, a refund request workflow with review states, Firebase ID tokens verified server side inside a guard rather than trusted from the client, templated transactional email, and map rendering in both the app and the dashboard. I architected the platform across all three repositories, set the GraphQL and data model conventions it is built on, worked through the implementation with the team and reviewed every change into it, and owned the iOS and Android release pipeline with Fastlane through to App Store approval. The first commit landed at the start of April 2026 and the app was approved on the App Store eleven weeks later.