DEV Community

Developer Sankar
Developer Sankar

Posted on

RoomGrub - expense splitter app

There's a specific kind of tension that comes with shared living. It's not dramatic. It's not loud. It's the quiet discomfort of wondering — did I pay more for groceries this month? Did they?

It's the mental overhead of keeping track of who bought the cooking oil, who paid the electricity bill, and who's been conveniently forgetting both.

I've been there. And like most developers, my first instinct was: there should be an app for this. So I built one.

What is RoomGrub?

RoomGrub is a free, open-source expense-splitting web app designed for roommates, PG residents, and friend groups who share daily expenses.

You create a room. You invite your roommates via a link. Everyone logs what they spend. RoomGrub automatically splits the cost, tracks who owes what, and keeps everyone on the same page. No more mental math. No more awkward reminders. No more WhatsApp messages that get buried.

The Problem With Existing Tools

Apps like Splitwise are great for one-off bills among friends — but they weren't built for the daily rhythm of shared living. Here's what usually happens without a dedicated tool:

Someone buys groceries. They don't mention it. Someone pays the internet bill. They mention it once. By the end of the month, nobody knows who owes what. The group chat becomes a passive-aggressive ledger.

RoomGrub solves this by making expense logging so frictionless that everyone actually does it.

What It Does

You create a private Room and invite your roommates via a link. Once everyone is in, anyone can log an expense in seconds — just the item name and amount. RoomGrub splits it equally across all members and updates every balance instantly.

The Splits page shows exactly who owes whom and how much. When someone settles up, they mark it as paid and the balances update. Every member has their own account page showing their total contributions, what they purchased, what they paid, and their current balance.

Every action in the room is also logged in an activity history — expenses added, payments made, members who joined. Nothing gets lost, and admins can edit or delete entries if needed.

RoomGrub also sends real-time push notifications. When someone adds a grocery item, logs a payment, or joins the room, everyone gets notified instantly.

It Works Like a Native App

RoomGrub is a Progressive Web App. You can install it directly from your browser on Android or iPhone — no app store needed. It works offline too, showing your last-known room data when you have no internet connection.

Login is just Google sign-in. No separate accounts, no passwords.

The Tech Stack

It's built on Next.js 15 with TypeScript for the frontend, Supabase and PostgreSQL for the database, NextAuth for Google login, and the Web Push API with service workers for push notifications. The UI uses Material UI Joy and Tailwind CSS. The whole backend runs inside Next.js API routes.

Why Open Source?

Because this problem is universal and the solution shouldn't cost money. RoomGrub is completely free. The full source code is on GitHub. You can self-host it, fork it, or contribute to it.

The goal was never to build a business. It was to solve a real, everyday problem cleanly — and share that solution with anyone who needs it.

Who Is It For?

College students sharing a flat. Young professionals in PGs or co-living spaces. Friend groups on long trips. Couples tracking shared household expenses. Basically anyone who shares a living space and shares expenses.

What's Coming Next

Expense categories and monthly reports, unequal splits by percentage or custom amount, multi-currency support, and PDF or spreadsheet export.

Try It

The code is on GitHub at github.com/sambhusankar/RoomGrub. If you find it useful, star the repo, open an issue, or submit a PR. Contributions of all sizes are welcome.

Built with Next.js, Supabase, and a genuine frustration with unsettled grocery bills.

S Sankar Swain

Top comments (1)

Collapse
 
developer_sankar_43e50744 profile image
Developer Sankar

great