Inspiration
Living in a shared apartment with 3 friends in Chicago, we’d spend hours bickering over rent splits (who paid more for the master bedroom?) and utility bills. I realized there had to be a simpler way to make sharing expenses fair—no spreadsheets, no guesswork, just clear, automated math. That’s when RentSplitter clicked: build something for everyday roommates, by someone who’s been in that messy situation.
What it does
RentSplitter lets roommates split rent (by size/orientation/equal), track utility costs (electric, water, internet), log household purchases, and see real-time balances—so everyone knows who owes what, no drama. It shows clear breakdowns of every calculation and keeps a full history of all expenses.
How we built it
I started with core financial logic: coding rent split formulas ($Rent_{room} = (RoomSize / TotalSize) × TotalRent$ for size-based splits; 1.2× multiplier for master bedrooms). I built the UI with React/Tailwind for mobile-friendliness, used LocalStorage to save data locally, and integrated Chart.js for visual expense breakdowns. I focused on simplicity—no login, just instant access to all features.
Challenges we ran into
The biggest hurdle was perfecting the balance calculation logic: ensuring payer credits and roommate debits for purchases updated in real-time across all pages. I also struggled with making the UI intuitive for non-technical users—iterating 3 times on the dashboard to prioritize the most important info (balances, quick actions).
Accomplishments that we're proud of
Creating a tool that’s actually usable for real roommate scenarios (not just theoretical). The balance summary—color-coded for positive/negative balances—and clear "who owes whom" reminders make it easy to settle up without tension. It works seamlessly on phones (critical for busy roommates!) and all calculations are 100% accurate.
What we learned
I deepened my understanding of financial logic and real-time data state management in React. More importantly, I learned to build for user empathy: the best features aren’t the most complex—they’re the ones that solve the small, daily frustrations (like remembering who paid for toilet paper).
What's next for this project
I want to add recurring expense tracking (monthly internet bills), a simple settlement tracker (mark payments as "paid"), and cloud sync (so roommates can update expenses together). Eventually, I’d love to integrate with payment apps to make settling up even faster—keeping the core focus on fairness and simplicity.
Built With
- css
- html
- javascript
- react
- tailwindcss
Log in or sign up for Devpost to join the conversation.