Travel Booking Platform
A cross-platform travel app for Southeast Asia with AI-powered itinerary generation, offline-first architecture, and group booking cutting complex trip planning time from 45 minutes to 12 minutes.
The Challenge
Building a travel platform for a region where connectivity is never guaranteed.
A confidential Australia-based travel technology startup needed a booking platform purpose-built for Southeast Asia travel not a generic global booking engine re-skinned for the market. The region's travel patterns, accommodation types, and activity categories required a platform designed from the ground up.
Three requirements set this apart from conventional travel app work: AI-powered itinerary building to simplify complex multi-destination trip planning, group booking with split payment, and offline functionality. Travellers in remote parts of Southeast Asia regularly face patchy or non-existent mobile data the app needed to work without a connection once initial data was loaded.
The client also needed this as both a mobile app (iOS and Android) and a full web application with a shared API layer and no divergence between the two platforms.
Project Parameters
Industry: Travel & Hospitality Technology
Client: Confidential Australia-based travel tech startup
Timeline: 18 weeks, discovery to launch
Our Approach
One API layer. Two polished frontends. Offline by design.
Flutter was chosen for the mobile app because it produces a single codebase for both iOS and Android while delivering native performance. React was built in parallel as the web platform, both consuming the same Node.js API layer meaning feature development happened once, not twice.
Offline-first architecture was designed from sprint one, not added later. The Flutter app uses local SQLite storage with a background sync engine users can browse saved hotels, access their itinerary, and even initiate offline bookings that queue for submission when connectivity returns.
The AI itinerary generator uses OpenAI's API with a custom travel-domain system prompt and fine-tuning layer ensuring outputs reflect Southeast Asia-specific travel realities (visa requirements, transport links, seasonal considerations) rather than generic travel suggestions.
The Solution
Three capabilities that defined the product.
AI Itinerary Generator
Powered by OpenAI's API with a custom fine-tuning layer trained on Southeast Asia travel data, the itinerary generator creates personalised multi-day trip plans based on travel dates, budget, interests, and party size. Users can edit, accept, or regenerate suggestions and the entire plan saves to their account with booking links attached to each activity.
Offline-First Architecture
The Flutter app uses a local SQLite database as the primary data store, with a background sync engine that replicates server state whenever connectivity is available. Users access their full itinerary, hotel confirmations, and bookmarked properties without any internet connection the app works exactly the same online or offline. 78% of users who reported connectivity issues confirmed the offline features worked correctly.
Group Booking & Split Payments
Group travel bookings let one person organise and invite the entire party, with each participant paying their own share directly through the app. The booking is held provisionally until all payments are confirmed eliminating the awkward process of one person paying for a group and chasing reimbursements. Group coordinator gets a full dashboard of payment status per person.
The Results
First 6 months of live operations.
4.7★
App Store Rating
iOS 4.6 on Android
50K+
Bookings Processed
First 6 months post-launch
12 min
Avg. Booking Time
Down from 45-min industry average
78%
Offline Sessions Successful
Among users with connectivity issues
Tech Stack
A Flutter + React dual-frontend architecture sharing a single Node.js API built for offline resilience, AI integration, and cross-platform consistency.
Mobile & Web Frontend
Flutter (iOS + Android) · SQLite local storage · React (web) · Riverpod state management · Dart
Backend & AI
Node.js · Express · PostgreSQL · Redis (availability cache) · OpenAI API · Custom travel fine-tuning layer
Infrastructure
AWS EC2 · RDS · ElastiCache · CloudFront · S3 · GitHub Actions CI/CD · Docker · App Store Connect · Google Play Console
Have a similar challenge?

