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