A modern, premium expense sharing application built with React and Vite. Easily track shared expenses, balances, and settlements with friends.
- Dashboard: View your total balance, amount you owe, and amount you are owed at a glance.
- Expense Tracking: Add expenses with multiple people and split costs equitably.
- Settlements: Simplify debts and see who owes whom.
- Responsive Design: Works seamlessly on desktop and mobile devices.
- Dark Mode: Sleek, premium dark mode interface.
Get a quick overview of your financial standing with friends.

Easily add new expenses and split them among group members.

- Node.js (v18 or higher)
- npm
- Clone the repository:
git clone https://github.com/bdchang403/SplitWise-App.git
- Navigate to the project directory:
cd SplitWise-App - Install dependencies:
npm install
Start the development server:
npm run devBuild the application for production:
npm run buildHere are detailed step-by-step guides for common scenarios, illustrated with screenshots from the deployed application.
Situation: User 0 pays $550 for a "Big Party" involving 15 other people (16 total). Result: Each of the 15 participants owes User 0 approximately $36.67.
Step 1: Add Users
Add all participants to the group.

Step 2: Add Expense
Create an expense for "Big Party", amount $550, paid by User 0, and split amongst everyone.

Step 3: View Settlement
The app calculates that every other user owes User 0 $36.67.

Situation: 3 Creditors each pay $120 to cover expenses for a group of 12 Debtors. Total cost is $360. Result: Each Debtor owes a total of $30. The app optimizes the transactions.
Step 1: Add Expenses
- Creditor 1 pays $120 for all 12 Debtors.
- Creditor 2 pays $120 for all 12 Debtors.
- Creditor 3 pays $120 for all 12 Debtors.

Step 2: View Settlement
Instead of every debtor paying every creditor small amounts, the app optimizes the debts. Each Debtor is assigned to pay a specific Creditor $30, simplifying the repayment process.

This project is configured for deployment to Google Cloud Run via GitHub Actions.
Ensure you have set up Workload Identity Federation and the necessary secrets (GCP_SA_KEY) in your GitHub repository.
This application was built completely with Google Antigravity and Gemini 1.5 Pro as a learning project to demonstrate the capabilities of agentic AI coding assistants.