Skip to content

Introduction

WeSpend is a household expense tracker for couples and families who share a monthly budget. One person funds a shared monthly pot, the household tracks daily spending against daily and weekly limits, and at the end of each week the app works out who needs reimbursing. Every member tracks from their own phone and sees changes in real time.

Why it exists

Plenty of households run this on a WhatsApp group: share receipts, total it up at the end of the week, settle by hand. WeSpend replaces that with a purpose-built tool - automatic limits, live sync across phones, and a one-tap weekly settlement.

What this documentation covers

  • Development - get the app running locally, wire up Supabase, run the tests.
  • Deployment - build installable apps with EAS, the CI pipeline, and how releases are cut.
  • Architecture - how the code is structured and why.

Tech stack at a glance

LayerChoice
AppExpo + React Native + TypeScript
NavigationExpo Router
StylingNativeWind (Tailwind for RN)
Server stateTanStack Query
Local stateZustand
FormsReact Hook Form + Zod
Offline cacheexpo-sqlite
BackendSupabase (Postgres + Auth + RLS + Realtime)
AuthAnonymous + invite code

See ADR-001 for the rationale behind these choices.

Spend together, settle simply.