Synapse
An expense tracker that reads the receipt from a photo, so nobody retypes it.
- For
- Our own app
- When
- 2025
- Status
- Working demo.

The situation
Small finance teams lose hours chasing receipts and retyping them.
What I built, and why
A multi-tenant web app where a photo of a receipt becomes a structured expense. GPT-4o’s vision model does the reading, at about 99% accuracy. The app flags duplicates and suspicious patterns, routes approvals to the right person, shows the totals in dashboards, and bills teams through Stripe.
Each company’s data is kept apart by row-level security in Postgres, and the tests cover those database rules as well as the screens.
What changed
Built as a working demo with Stripe billing and per-company isolation in place. The hard part was deciding what counts as a suspicious expense.
Built with
- Next.js
- React
- TypeScript
- Supabase
- PostgreSQL
- OpenAI GPT-4o
- Stripe
- Playwright
- pgTAP

