An open-source household expense tracker with:
- natural-language expense capture
- voice transcription for expense logging
- shared household ledger and access controls
- analytics and AI-assisted spending insights
The repository contains a FastAPI backend and a React (Vite) frontend.
- Backend: FastAPI, SQLModel, PostgreSQL/SQLite, uv
- Frontend: React 18, Vite
- AI integrations: OpenAI, Cerebras, Gemini, Groq Whisper (configurable)
backend/API, models, services, testsfrontend/web clientDEPLOY_RAILWAY.mddeployment guide.env.exampleexample environment variables
Prerequisites:
- Python 3.11+
- Node.js 18+
uvinstalled
- Clone and enter the repository.
git clone https://github.com/<your-username>/<your-repo>.git
cd <your-repo>- Configure backend environment.
cp .env.example .env- Run backend.
cd backend
uv venv
uv sync --extra dev
uv run uvicorn app.main:app --reload- Run frontend (new terminal).
cd frontend
npm install
npm run devBackend defaults to http://127.0.0.1:8000, frontend defaults to http://localhost:5173.
Backend:
cd backend
uv run pytest -qFrontend build check:
cd frontend
npm run buildUse Railway deployment instructions in DEPLOY_RAILWAY.md.
Please read CONTRIBUTING.md before opening pull requests.
Please read SECURITY.md for vulnerability reporting guidance.
MIT License. See LICENSE.