A React Native mobile application that helps friends and groups easily split expenses and calculate fair settlements.
- Easy Expense Tracking: Add people and their contributions to a shared expense
- Automatic Settlement Calculation: The app automatically calculates the optimal way to settle debts
- Multiple Currencies: Support for USD, EUR, GBP, CAD, CHF, NOK, PLN and more
- Share Settlements: Generate and share a visual summary of expenses and settlements
- Persistent Storage: All splits are saved locally on your device
- Intuitive UI: Clean, modern interface with smooth animations
- Create a Split: Start a new expense split and give it a name
- Add Contributors: Enter each person's name and how much they paid
- View Settlements: The app automatically calculates who owes whom to balance everything fairly
- Share Results: Generate a shareable image with all payment details
The app uses an optimized algorithm to minimize the number of transactions needed to settle all debts:
- Calculate each person's fair share (total amount ÷ number of people)
- Determine who paid more than their share (creditors) and who paid less (debtors)
- Match debtors with creditors to create the minimum number of transactions
- React Native
- Expo
- TypeScript
- AsyncStorage for local data persistence
- React Navigation
- Expo LinearGradient
- ViewShot for image generation
- Expo Sharing
-
Clone the repository:
git clone https://github.com/yourusername/expense-splitter.git
-
Install dependencies:
cd expense-splitter npm install
-
Start the Expo development server:
npx expo start
-
Run on your device or emulator:
- Scan the QR code with the Expo Go app (Android) or Camera app (iOS)
- Press 'a' for Android emulator or 'i' for iOS simulator
- Swipe from left edge to navigate back to the splits list
- Tap on the currency code in the header to change currencies
- Tap the share icon to generate and share a summary image
- Long-press on a split in the list view to delete it
Contributions are welcome! Please feel free to submit a Pull Request.
This project is licensed under the MIT License - see the LICENSE file for details.
- Inspired by the need to easily split expenses among friends during trips and gatherings
- UI design inspired by modern mobile application patterns