Skip to content

About

🧾 A React Native app for tracking shopping receipts

Resources

Stars

1 star

Watchers

0 watching

Forks

 
 

Latest commit

 

History

292 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

cover

🧾 Collect, Scan & Track Your Receipts

Receipt Collector is a React Native mobile app that helps you keep track of your shopping receipts. Instead of manually entering the amount and date, simply scan the receipt’s QR code.

home screen scanner screen details screen

🚀 Features

  • 📷 QR Code Scanning
    Automatically extracts the amount and date from the receipt.

  • 🧠 Receipt Photo Import
    Take a photo (or choose one from your gallery) and let AI extract amount/date before importing.

  • 🛍️ Add Products
    Add items to your receipt by scanning barcodes or entering them manually.

  • 📊 Statistics Dashboard
    View statistics about your spending over the last week or month.

  • 🏷️ Receipt Rarity
    Each receipt gets a random rarity: Common, Rare, Epic, Mythic, Legendary. This doesn’t affect functionality — it’s just a fun, gamified feature.

  • ✍️ Manual Entry
    In case scanning is not possible, you can always enter data manually.

📱 Tech Stack

🛠️ Development

react-native-mmkv 3.x requires React Native New Architecture (TurboModules), so run the app with a development client, not Expo Go.

yarn android:rebuild
# or
yarn ios:rebuild

After the first rebuild, use:

yarn start

Receipt AI Setup

Receipt photo import supports providers selected with:

EXPO_PUBLIC_RECEIPT_AI_PROVIDER=gemini # gemini | endpoint | local

If provider is gemini:

EXPO_PUBLIC_GEMINI_API_KEY=your-key
EXPO_PUBLIC_GEMINI_MODEL=gemini-3-flash-preview
# Optional if your account has it enabled:
# EXPO_PUBLIC_GEMINI_MODEL=gemini-3.1-flash-preview

If provider is endpoint:

EXPO_PUBLIC_RECEIPT_AI_ENDPOINT=https://your-api/receipt/extract
EXPO_PUBLIC_RECEIPT_AI_TOKEN=optional-token

Expected JSON response shape (top-level, data, or receipt):

{
  "amount": 42.5,
  "date": "2026-04-21T12:00:00.000Z",
  "confidence": 0.93,
  "rawText": "optional OCR text"
}

If amount or date are missing, the app tries to infer them from rawText/ocrText/text.

Important: EXPO_PUBLIC_* vars are bundled into the app and can be extracted from a client build. For production, prefer routing Gemini calls through your backend.

About

🧾 A React Native app for tracking shopping receipts

Resources

Stars

1 star

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages