About the Project
Inspiration
Splitting expenses with friends is a common everyday problem. In group activities like eating out, traveling, or sharing subscriptions, people often forget who paid how much. This leads to confusion and awkward conversations while settling up. PocketSplit was inspired by these real-life situations, where a simple, transparent way to track and settle expenses would make group spending easier and fairer.
How the Project Is Used (Use Cases)
PocketSplit is designed for small groups of friends who want to quickly split shared expenses.
Use Case 1: Group Outing
Friends go out for dinner. One person pays the bill. The amount is added to PocketSplit, and the app shows how much each friend owes.Use Case 2: Short Trip
During a trip, different people pay for food, transport, and tickets. All expenses are logged in the app, and PocketSplit calculates a final settlement summary for everyone.Use Case 3: Shared Subscriptions or Utilities
Roommates share monthly expenses such as internet or groceries. The app helps track who paid and ensures costs are split fairly.
How I Built It
PocketSplit is a lightweight web application built using HTML, CSS, and vanilla JavaScript. Users can add group members, record expenses with the payer and amount, and view a settlement summary. All data is stored using the browser’s LocalStorage, so the app works offline and persists data across page refreshes without any backend.
Expense Splitting Logic (Math)
$$ \text{Individual Share} = \frac{\text{Total Expenses}}{\text{Number of People}} $$
$$ \text{Balance} = \text{Amount Paid} - \text{Individual Share} $$
What I Learned
- DOM manipulation and event handling in JavaScript
- Managing application state using browser LocalStorage
- Designing a clean, user-friendly interface
- Structuring a small web project from idea to working prototype
Challenges Faced
- Keeping settlement logic accurate as members and expenses change
- Designing a simple UI without external frameworks
- Handling edge cases such as empty inputs and duplicate names
Future Improvements
- Custom expense splitting (not always equal)
- Exporting or sharing settlement summaries
- Expense categories
- Basic authentication
Built With
- css
- html
- javascript
- localstorage
- vanilla
Log in or sign up for Devpost to join the conversation.