All Aboard
A shared workspace for group trips: planning, photos, documents and expense settlement.
- Role
- Period
- Stack
Starting point
Group trips are scattered across WhatsApp, spreadsheets and cloud folders. The app had to bring everything into one place – and work while travelling, i.e. offline.
What I did
Real-time collaboration via Firestore streams, offline-first with a local cache and background sync for photos and notes, a cost-splitting algorithm in Cloud Functions that reduces group expenses to the minimum number of settlements. Plus PDF export, permissions, image compression, CMS and landing page.
Login with Google, Apple and Facebook, places on a map with clustering, push notifications and itinerary suggestions via the OpenAI API, connected through a Cloudflare Worker. The app follows MVVM (get_it, ChangeNotifier). Data access, login and the cost splitting are covered by unit tests, the Firestore security rules by their own tests in the emulator.
Result
Live in both stores, used by travel groups of 6–10 people.
Stack
Flutter, Dart, get_it, Firebase (Auth, Firestore, Cloud Functions, Storage, Messaging), Google Maps, OpenAI API, Cloudflare Workers, Figma