← Back to work

Case Study

KromTrip

A real-time group travel management app.

Role
Design & build, end to end
Type
Personal product
Stack
React 19 · Firebase · Vite
Dashboard screenshot
images/kromtrip/dashboard.png
KromTrip dashboard
The dashboard: live trip stats, trip cards, and a real-time activity feed.

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

  • React 19
  • Vite
  • Firebase Auth
  • Cloud Firestore
  • React Router
  • Context API
  • EmailJS
  • JavaScript

Architecture

Engineered to scale.

01

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.

02

Per-trip subcollection model

Each trip owns its own itinerary / members / expenses / chat / packing / notes / documents / activity collections, so data stays scoped, secure, and scales cleanly.

03

Multi-currency money layer

Expense splitting with automatic settle-up and live currency conversion, so balances are correct whether the group spends in USD, EUR, or THB.

Features

One hub, eight modules.

Dashboard

Live stats, trip cards, and an activity feed.

Itinerary

Day-by-day planning with typed activities.

Expenses

Budget tracking, splitting, and settle-up.

Members

Invite by email, roles, live per-person balances.

Group Chat

Real-time messaging per trip.

Packing & Notes

Shared lists and notes the whole group edits.

Documents

Keep tickets and bookings in one place.

Explore

Discover destinations to add to the plan.

Screens

A look inside.

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.

Explore it

See it live.