Bill Split

Finance · React + Node (Express) · 4 @molecule/* packages

Splitwise-like group expense splitting with shared costs, per-member balances, simplified settle-up suggestions, and activity feed

Open in Molecule

Try it

Opens instantly. Runs on sample data, so changes reset on reload.

Open preview in a new tab ↗View workspace ↗

What is inside

Screens (16)

  • Landing /
  • Login /login
  • Signup /signup
  • ForgotPassword /forgot-password
  • ResetPassword /reset-password
  • Dashboard /dashboard (signed in)
  • Groups /groups (signed in)
  • GroupDetail /groups/:id (signed in)
  • NewExpense /expenses/new (signed in)
  • Balances /balances (signed in)
  • Activity /activity (signed in)
  • Friends /friends (signed in)
  • Settings /settings (signed in)
  • About /about
  • Privacy /privacy
  • Terms /terms

Data model (8 tables)

  • devices — id, createdAt, updatedAt, userId, name, pushPlatform, pushSubscription, hasPushSubscription
  • groups — id, user_id, name, description, currency, created_at, updated_at
  • members — id, user_id, name, email, is_self, created_at
  • memberships — id, group_id, member_id, role, joined_at
  • expenses — id, group_id, payer_member_id, amount_cents, description, category, date, split_method, …
  • expense_shares — id, expense_id, member_id, amount_cents
  • settlements — id, group_id, from_member_id, to_member_id, amount_cents, method, date, note, …
  • activities — id, group_id, kind, payload, created_at

API (9 handlers)

  • \_activity api/src/handlers/_activity.ts
  • \_balances api/src/handlers/_balances.ts
  • \_seed api/src/handlers/_seed.ts
  • activities api/src/handlers/activities.ts
  • dashboard api/src/handlers/dashboard.ts
  • expenses api/src/handlers/expenses.ts
  • friends api/src/handlers/friends.ts
  • groups api/src/handlers/groups.ts
  • settlements api/src/handlers/settlements.ts

Built from 4 @molecule/* packages

Browse all @molecule/* packages →

Required secrets

  • DATABASE_URL PostgreSQL connection string

The @molecule/* packages are Apache-2.0. The app you build from this template is yours to export and self-host. Licensing