Real-time everything
Firestore onSnapshot listeners stream every change live to every member, with no refresh. A new expense, a chat message, an itinerary edit: it appears for everyone instantly.
Case Study
A real-time group travel management app.
Overview
Coordinating a group trip is chaos. The itinerary lives in one chat, expenses in a spreadsheet, and who-paid-what in everyone's head. KromTrip pulls it all into one shared, real-time workspace where every member sees the same live plan, budget, and balances. Build an itinerary together, split expenses with automatic settle-up, chat, and keep documents and packing lists in sync, all updating instantly across the group.
Built with
Architecture
Firestore onSnapshot listeners stream every change live to every member, with no refresh. A new expense, a chat message, an itinerary edit: it appears for everyone instantly.
Each trip owns its own itinerary / members / expenses / chat / packing / notes / documents / activity collections, so data stays scoped, secure, and scales cleanly.
Expense splitting with automatic settle-up and live currency conversion, so balances are correct whether the group spends in USD, EUR, or THB.
Features
Live stats, trip cards, and an activity feed.
Day-by-day planning with typed activities.
Budget tracking, splitting, and settle-up.
Invite by email, roles, live per-person balances.
Real-time messaging per trip.
Shared lists and notes the whole group edits.
Keep tickets and bookings in one place.
Discover destinations to add to the plan.
Screens
What I took from it
KromTrip pushed me past coursework into real product engineering: designing a real-time data model that scales, securing a client-only Firebase app with proper rules, and reducing friction across eight tightly-connected modules. It's not a demo. It's a working product with authentication, a live database, and 11 screens, built and shipped end to end.