Trip Expense Manager
A simple, intuitive application to track group expenses, split bills, and calculate settlements during trips. No more messy spreadsheets or arguments over who owes whom!
Trip Expense Manager is a full-stack web application that helps groups of travelers track shared expenses, split bills, and settle up efficiently. Built with React, TypeScript, Node.js, PostgreSQL, and a Python ML service, it combines practical expense management with AI-powered receipt scanning.
Users can sign up with email (OTP-verified) or Google OAuth, create trips, add fellow travelers, and log two types of expenses — regular costs split equally across the group, and food orders tracked per person. A built-in settlement calculator determines the minimum number of transactions needed for everyone to settle up, and can send email reminders to debtors with the creditor's UPI payment ID.
The standout feature is the receipt scanner: users upload a photo of a receipt, which is processed by a fine-tuned TrOCR model (PyTorch) to extract raw text, then passed through a BERT NER model (TensorFlow) to identify individual line items and totals. Users can correct any mistakes, and those corrections feed back into an incremental retraining pipeline — making the models progressively more accurate over time.
The backend follows a microservices pattern with an Express API Gateway routing traffic between an Express + PostgreSQL app service and a FastAPI ML service. Trips can be shared with other verified users, giving them read-only access. The app also tracks per-user spending statistics across monthly, yearly, or custom date ranges.
A guest mode lets users try the full expense-splitting workflow without an account, with all state persisted in localStorage.