Your pantry,
restocked on time.

Know what you have, what is running low and what the next trip to the market will cost. Scan the receipt and the purchase is already filled in.

Flutter app for iOS and Android. Not on the app stores yet.

Scan the receipt

The receipt fills in the purchase.

Point the camera at the QR code of a Brazilian electronic receipt (NFC-e). Repooor downloads the invoice from the state tax portal and matches every line to a product you already have.

  • Each line shows how it matched, with suggestions for the rest.
  • New products come with a suggested category.
  • Finishing the purchase adds the quantities to the pantry.
Reviewing a scanned receipt: each line matched to a product, with its price
Market projection

Know the cost before you leave.

Everything below its ideal amount, priced with what you paid last time. Turn it into a shopping list, tick items off in the store, then compare the projection with the real receipt.

Market projection: items to buy and the estimated total of the next trip
Spending

See where the money goes.

This month's spending by category, the products you buy most, how often you shop, and the price history of each product.

Spending this month and consumption by category
How it's built

Small app, real engineering.

Flutter, Riverpod and sqflite, organized in clean layers, with over 500 tests.

Offline first

Data lives on the phone. Every write is queued and backed up to Appwrite when there is signal; permanent errors are kept apart from transient ones.

One parser per state

Receipts differ by state. A factory picks the parser from the QR; XML invoices go through a generic parser tested against a real one.

Matching in Portuguese

ARROZ T1 5KG CAMIL becomes the rice you already have: accents, units, plurals and synonyms are normalized before comparing.

Migrations that keep data

Seven schema versions built on a phone with real data, some of them merging duplicate products as they migrate.

Read the code.

Repooor is open source under the MIT license.