Fig: A Receipt Extractor App
A personal finance, grocery receipt tracking app.

Note: the above illustration was generated using GPT4o
This project was inspired by SFU CMPT 353, a data science course. The questions are simple:
- Do we actually feel the inflation reported by the Canadian Statistics?
- Can we validate the inflation using our own grocery receipts?
- How accurately does the official data reflect day-to-day experience?
Though these questions were never answered, my partner and I also had been manually entering grocery bills into a spreadsheet to keep track of living costs expenses. So, as a side quest, we want a way to avoid doing tedious work every time we go grocery shopping.
So, I built a simple grocery tracking app that lets us upload a photo of a receipt and automatically extract the data using a vision-based large language model (LLM).
Another motivation behind this app was to collect meaningful, real-world data. Having access to this kind of information helps us make better purchasing decisions, for example, knowing which produce is in season, at what time in a month it will likely go on sale, and whether it is worth buying.
This is especially relevant now, given the U.S.-Canada trade disputes that affect grocery imports. Many Canadian stores rely on U.S. imports, something we have noticed firsthand.
You can find the app project here.Here is the list of tech stack:
- Frontend/Backend: React, NextJS, TailwindCSS,
- Storage/Database: MongoDB
- Containerization: Docker for deployment
- Receipt Parsing: Local LLM (ollama qwen2.5vl)
Getting Started
To run the app locally, install Docker and run:
docker compose build docker compose up
Screenshots of the app
Fig Dashboard
Fig Uploader
Fig Receipt Details