Inspiration

Managing shared expenses with roommates often leads to confusion, awkward conversations, and missed payments. From splitting rent and groceries to tracking utilities and shared subscriptions, we realized there was no simple, stress-free way to manage household finances transparently. BillsBetweenUs was inspired by the desire to remove friction from roommate relationships and make expense sharing fair, clear, and drama-free.

What it does

BillsBetweenUs is a web application that helps roommates: Create individual user accounts securely

Add and manage roommates within a household

Search and add other registered users as roommates

Track shared household relationships

Lay the foundation for transparent bill and expense management

How we built it

We built BillsBetweenUs using a modern full-stack approach: Next.js (TypeScript) for a scalable and performant frontend

Firebase Authentication for secure user sign-up, login, and password reset

Cloud Firestore to store user profiles and household data

Tailwind CSS for a clean, responsive UI

Challenges we ran into

Correctly connecting a standalone frontend to a separate Firebase project

Managing environment variables securely in a Next.js application

Debugging Firebase authentication errors caused by misconfigured API keys

Designing Firestore queries that allow user search while remaining scalable

Ensuring UI state stayed in sync with real-time database updates

Accomplishments that we're proud of

Successfully integrating Firebase Authentication and Firestore from scratch

Building a real user search system backed by a database (not mock data)

Designing a clean and intuitive UI that mirrors real-world usage

Overcoming complex configuration issues that commonly block beginners

Creating a solid foundation for a real, deployable product

What we learned

How Firebase identifies and connects projects using configuration and environment variables

The importance of proper environment setup in modern web frameworks

How authentication, database rules, and frontend logic must work together

How to debug production-level errors systematically instead of guessing

Best practices for scalable app architecture in hackathon environments

What's next for BillsBetweenUs

Add invitations and roommate approval flows

Introduce sensors

Add analytics and insights for household spending

Built With

Share this project:

Updates