Dev Shah

Case study — Independent

PaisaSplit

An expense-sharing app for Indian friend groups, families and trips — track shared costs, split bills in different ways, and settle up over UPI.

Type
Expense-sharing mobile app
Stack
Flutter · Dart · Node.js · MongoDB · Provider · Express · Mongoose · JWT · Google OAuth · Firebase Cloud Messaging · Google ML Kit · Nodemailer · GitHub Actions

Context & problem

PaisaSplit is an expense-sharing app for Indian friend groups, families and trips. People track shared costs, split bills in different ways, and settle up over UPI.

My responsibilities

  • Built groups with five types — Family, Friends, Couple, Trip and Office — including group photos and a balance limit.
  • Added three ways to join a group: QR code, deep link and email invite.
  • Built on-device receipt scanning with Google ML Kit OCR that splits a bill item by item.
  • Built settling up through UPI and PayPal payment links.
  • Added monthly budgets and per-person net balances across all groups.

Implementation & technical decisions

  • Flutter (Dart) with Provider for state management.
  • Node.js and Express API with MongoDB (Mongoose).
  • Sign-in with JWT and Google OAuth.
  • Receipt OCR runs on the device with Google ML Kit.
  • Push notifications through Firebase Cloud Messaging, and email through Nodemailer.