Overview
A full-stack SaaS receipt management platform that automatically captures, scans, and organises receipts via AI — available on web and mobile. Built for businesses and individuals who need automated expense tracking without manual data entry.
Key Features
- AI-powered receipt scanning using Google Gemini — extracts merchant, date, amount, category, card digits, and line items from uploaded images or PDFs
- Automatic email ingestion via Gmail OAuth — connects multiple Gmail accounts per user, polls every 5 minutes via Vercel Cron, auto-processes forwarded receipts
- Cross-platform — full-featured web dashboard (Next.js) and native mobile app (Expo/React Native) sharing the same Supabase backend
- Duplicate receipt detection — prevents the same receipt being stored twice by matching merchant, date, and amount
- Google Calendar sync — optionally creates calendar events for each processed receipt
- Reporting and export — expense, tax, and spending reports exportable as PDF, Excel, or CSV
Screenshots
Challenges & Solutions
The primary challenge was building a receipt ingestion pipeline that works across manual uploads, mobile camera scans, and automated email — all feeding into the same AI extraction and storage flow without duplicating logic. This was solved by centralising the Gemini extraction and Supabase storage logic into shared server-side functions called by all three entry points. A second challenge was Gmail API integration on Vercel’s serverless architecture — IMAP persistent connections are incompatible with serverless, so the solution was a Vercel Cron job hitting a stateless API route that polls Gmail, processes emails, and deduplicates via a message ID tracking table. Multi-account Gmail support required a per-user token store with automatic refresh token rotation.