- Students cohabit in shared houses / flats
- Bills (water, electricity, internet) need to be paid as a whole
- There are other expenses associated with shared living (e.g. buying toilet roll)
- How to make sure one housemate is not constantly paying more/less than the others?
- We realised we were all using messy spreadsheets to try to keep track, and this was a time-consuming and ineffective solution.
What it does
- Each housemate has a Capital One account. (If they don’t, one is created for them upon signup.)
- The Household has a Capital One account.
- Expenses are logged by each housemate.
- “credit” is given to each housemate based on the expenses they logged in the billing period.
- When a bill is due Each housemate’s amount due is calculated: Credit is first used against the amount they owe. If there is still credit remaining for a housemate, it carries over to the next billing period. Each housemate receives an SMS with their own amount due, prompting them to pay. They can reply OK to automatically transfer that amount from their Capital One account to the Household Account. Once all housemates have transferred their portions for a Bill, the Household Account automatically transfers the total to the company.
How I built it
- The concept was conceived during a whiteboard session where we were discussing problems that people commonly have. The problem of communal payments when house sharing came up and we decided to run with the idea. Using the whiteboard we then planned the project by mapping out the problems and coming up with solutions to them and seeing where we would have a viable and unique product.
- We then divided the project into separate areas such as client side, server side and the texting functionality.
Challenges I ran into
- Because of the time limitations and way we separated the work there were a few integration issues. An example of these issues was a unit tested payment calculator that failed to work when using data from the Mongo database.
Accomplishments that I'm proud of
- Kate: I wrote my first bits of nodejs code and helped find some bugs. I managed to sort out the Twilio integration so the programme could send and receive SMS messages for automated billing.
- Harry & Jack: Managing to get out a relative polished site in the time.
- Jodi: Absolutely smashing Yoga - managed to touch my toes.
What I learned
- Jack: How to distribute work across a team of varying skill and experience levels. Also how to make friends!
- Harry: How to use React!
What's next for BillMyHousemates
- Indications on the Dashboard for who has paid and who is overdue.
- Functionality to configure Bills for uneven splits
- If only two housemates are in the house over the summer, they should pay more for electricity
- Full-time students are exempt from council tax while others aren’t
- Verification of expense log entries via account activity and receipts (currently honour system)
- Not relevant for small things like toilet roll, but for bigger household purchases like a coffee machine, etc.