Skip to main content
BillBuddy Hero

What is BillBuddy?

BillBuddy is a comprehensive expense-sharing application that helps you split bills, track shared expenses, and settle up with friends, roommates, or any group. Built with the MERN stack (MongoDB, Express.js, React, Node.js), BillBuddy provides an intuitive interface for managing group finances. Whether you’re splitting rent with roommates, managing a trip with friends, or tracking shared household expenses, BillBuddy simplifies the process with automatic balance calculation, debt simplification, and email settlement summaries.

Core features

User authentication

Secure JWT-based authentication with bcrypt password hashing. Register, login, and manage user profiles with token-based authorization.

Group management

Create groups, invite members, and track balances. Support for multiple groups with automated balance calculation and member management.

Expense splitting

Add expenses and split them equally among group members. Categorize expenses (Food, Travel, Shopping, Entertainment, Utilities) for better tracking.

Debt simplification

Automatically calculate who owes whom and simplify debts. Generate settlement summaries and send email notifications when settling up.

Technology stack

BillBuddy leverages modern web technologies for a robust and scalable application:
  • Backend: Node.js (v18+) with Express.js framework
  • Database: MongoDB (v4.4+) with Mongoose ODM
  • Frontend: React 18 with Vite build tool
  • UI Framework: Material-UI (MUI) components with custom theming
  • Authentication: JSON Web Tokens (JWT) with 30-day expiration
  • Email Service: Web3Forms API for settlement notifications
  • Styling: Tailwind CSS and Emotion for component styling

Getting started

Quickstart

Get BillBuddy running locally in under 5 minutes with our quick setup guide.

Installation

Detailed installation instructions for both backend and frontend, including environment configuration.

API reference

Explore the complete API documentation with endpoints for authentication, groups, expenses, and settlements.

Configuration

Configure environment variables, database connections, and email settings for your deployment.

Key capabilities

Real-time balance tracking

BillBuddy automatically calculates and updates member balances as expenses are added. The calculateBalances() method in the Group model ensures accurate tracking across all transactions.

Smart expense splitting

Expenses are split equally among selected group members. Each expense tracks who paid, the amount, and who it’s split among, with automatic per-person share calculation.

Category-based organization

Organize expenses into categories (Food, Travel, Shopping, Entertainment, Utilities, Other) for better insights into spending patterns.

Email settlement summaries

When settling up, BillBuddy sends formatted email summaries to all group members showing final balances and who owes whom.
BillBuddy requires Node.js v18 or higher and MongoDB v4.4 or higher. Make sure you have these prerequisites installed before proceeding.

Next steps

1

Follow the quickstart guide

Get BillBuddy running locally with our quickstart guide.
2

Explore the API

Learn about available endpoints in the API reference.
3

Customize your setup

Configure authentication, email settings, and database connections in the configuration guide.

Build docs developers (and LLMs) love