SplitSmart

Split expenses with friends, track balances and settle up easily — self-hosted Splitwise/Tricount alternative (React, Express, SQLite, Docker)

GitHubTypeScriptCSSJavaScriptHTMLDockerfile
👁 104 vuesSync GitHub: 10/9/2026
dockerexpense-trackerreactself-hostedsplit-expensessplitwise-alternativesqlite

SplitSmart

Split expenses with friends, track balances, settle up easily 💰

CI License: MIT

Features

  • Expense splitting — Split costs equally, by exact amounts, percentages, or shares
  • People management — Add people with custom colors and emails
  • Balance tracking — See who owes what at a glance
  • Simplified debts — Minimized number of transactions to settle all debts
  • Settle up — Record payments and automatically update balances
  • Category breakdown — Pie chart of spending by category
  • Balance chart — Bar chart showing each person's net balance
  • SQLite storage — Lightweight, file-based database
  • Docker-ready — Full containerized deployment

Quick Start

Development

npm install
npm run dev          # Frontend on :5178
npm run dev:server   # API server on :3005

Docker

docker-compose up

Tech Stack

  • Frontend: React 18, Vite, TailwindCSS, Recharts, Lucide, date-fns
  • Backend: Express, TypeScript, better-sqlite3
  • Testing: Vitest
  • Deployment: Docker, Nginx

License

MIT