Pay — Group Expense Splitter
completed
A full-stack bill-splitting app for trips and group expenses, with receipts, balances, and settle-up tracking.
P
Next.js
TypeScript
Auth.js
DynamoDB
AWS
Tailwind CSS
About This Project
A private bill-splitting application built for splitting trip and group expenses without the spreadsheet headache.
The app handles the full expense lifecycle:
- Trip "buckets" that group related expenses together
- Flexible splitting — even, by share, or custom per person
- Receipt uploads stored privately and served via short-lived presigned URLs
- Running balances and a clear "who owes whom" settle-up view
- Google sign-in so everyone in the group has their own secure view
Built on Next.js and a single-table DynamoDB design, deployed to AWS with authentication via Auth.js. All data access runs through the EC2 instance role — no long-lived credentials.
Key Features
- Trip-based expense buckets
- Flexible even / share / custom splitting
- Private receipt storage with presigned URLs
- Real-time balances and settle-up
- Google authentication
- Serverless single-table data model