← Back to Projects
Client Work 2026 In progress Web Mobile API

ReceiptIQ

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.