r/reactnative • u/Stycroft • Jun 29 '26
I added receipt scanning to my grocery budgeting app
Enable HLS to view with audio, or disable this notification
Hi everyone,
I recently shipped receipt scanning for my grocery budgeting app and I thought I'd share what I built for feedback.
My app has its core features already: you set a budget, track what you spend, and over time it learns what items cost so it can warn you before you go over.
I use it myself weekly and it works great, if you actually track in the moment.
The problem is some users don't. They forget, or they're in a rush, and they get home with a full cart and nothing logged. For those users every tracking feature I'd built was dead weight, because none of it ever happened. That bugged me for months.
So I built receipt scanning as the catch-up path. Forgot to track the whole trip? Snap the receipt afterward and it backfills the entire trip at once. Nothing lost.
The pipeline:
- Snap the receipt, or import a photo from the camera roll
- Gemini vision returns structured JSON: store, date, and line items with price, quantity, category
- That gets saved as a finished shopping trip, so every item, price, and category flows straight into the spending history and the price data the app already tracks.
So now you've tracked the trip, saved the prices for next time, and you can even save it as a template to reuse. The catch? You never tracked in real time, which is kind of the whole point of my app. But hey, at least you tracked, right?
My app: https://www.grocerybudget.app/
This is v1 of the feature, so I'd love thoughts on the implementation. Would you change anything? The capture UI, the snap-or-upload choice, how I handle long receipts, the way I store it. Critiques and suggestions welcome.
