Fairsplit helps couples and households split shared expenses based on income, not a flat 50/50 rule.
Track what each person earns, record what the household spends, and end the month with one clear settlement.
Shared money usually breaks down in one of two ways:
- everything gets split evenly even when incomes are not
- nobody is fully sure what is fair by the end of the month
Fairsplit solves that by turning a messy set of shared expenses into a simple monthly answer:
- what each person should have contributed
- what each person actually paid
- who needs to send money to whom, and how much
Fairsplit is built for people who share money and want less friction around it:
- couples sharing rent, groceries, bills, and subscriptions
- households where incomes are different and equal splits feel unfair
- anyone who wants a transparent monthly settlement instead of ad hoc IOUs
Most split apps answer "who paid for this?" Fairsplit answers "what is the fair split for the whole month?"
Instead of dividing each expense evenly, Fairsplit:
- totals the month's income for each person
- calculates each person's income share
- applies that share to the month's total shared expenses
- compares fair contribution vs. what each person actually paid
- recommends the transfer needed to settle the month
- Add monthly incomes for each household member
- Track shared expenses and who paid them
- Handle recurring and installment-based expenses
- Review totals, contribution shares, and transfer recommendations
- Organize spending with categories and category groups
- Invite another person into the same household
- Sign in with your email.
- Join a household with an invite code, or create one during setup.
- Add incomes for the current month.
- Record shared expenses as they happen.
- Open the dashboard to see the final settlement.
Use the email magic link flow to access your household.
During setup, you can:
- join an existing household with an invite code
- skip and create a household for yourself
Each household member records their income for the selected month.
This is what allows Fairsplit to calculate a fair split rather than a fixed percentage.
Add expenses as they happen, including:
- description
- category
- amount
- currency
- who paid
- whether the expense is fixed or part of an installment plan
The dashboard shows:
- total household income
- total shared expenses
- each person's fair contribution
- how much each person actually paid
- the final recommended transfer, if one is needed
- your display name
- household invite codes
- expense categories
- category groupings
Fairsplit is designed around a few product principles:
- fairness should reflect income, not just equal participation
- monthly money conversations should end with one clear answer
- shared finances need transparency without spreadsheet overhead
- recurring household costs should be easy to maintain over time
No. It uses each person's share of household income to determine their fair share of the month's total shared expenses.
No. What matters is that the household's shared expenses and the payer for each one are recorded accurately.
Fairsplit can still hold expenses, but it cannot calculate a fair settlement until the month has income data.
Fairsplit shows that no transfer is needed.
This repository contains the Fairsplit product codebase. If you are working on the app locally, use the commands below.
apps/web: Next.js web appapps/api: Express APIpackages/db: Prisma schema and migrationspackages/shared: shared domain logic and validation
- Install dependencies.
pnpm install- Start PostgreSQL.
docker compose up -d- Configure environment files:
apps/web/.env.localapps/api/.envpackages/db/.env
- Prepare the database.
pnpm db:generate
pnpm db:migrate- Start the app.
pnpm devDefault local URLs:
- web:
http://localhost:3000 - api:
http://localhost:4000/api
pnpm test
pnpm build
pnpm lintNote: API integration tests require TEST_DATABASE_URL and will fail if it is missing or matches DATABASE_URL.