Skip to content

lebaaar/cenko

Repository files navigation

Cenko

Cenko

Cenko brings all deals from major Slovenian stores into one place so you always get the best price. Scan your receipts to automatically track your spending, and share shopping lists with family or friends to get personalized deal recommendations based on what you buy most.

Dragonhack 2026 - Best use of APIs reward

Cenko app demo

Core features

  • Track spending - scan receipts to automatically track your spending and gain insights into your spending by store
  • Browse all deals in one place - find the best deals across all major stores in Slovenia (Mercator, Spar, Hofer, Tuš and Tuš drogerija)
  • Shared shopping list - create shopping lists and share them with family or friends and make sure you always get the best deal for the products on your list
  • Personalized recommendations - get deal recommendations based on your shopping list and frequently bought products

Tech stack

  • Flutter for cross-platform mobile development. State management with Riverpod and navigation with GoRouter
  • Firebase for backend - authentication, Firestore and AI logic
  • OCR with Gemini for structured data extraction
  • Scraping grocery catalogs with Go, text extraction from PDFs with pdfplumber and data structuring with Claude Haiku

Future improvements

  • Shared shopping lists - allow users to share shopping lists with family members or friends
  • Support more stores - scrape catalogs of more stores
  • Price tracking - track price changes of frequently bought products or shopping lists and notify users of significant price drops
  • Better OCR and data extraction - improve the accuracy of receipt scanning and data structuring with more advanced LLMs

Development

To run the app locally:

  • Install depencides:
    flutter pub get
  • Running in debug:
    flutter run --debug
  • Release build: you will need android/key.properties file. Structure of this file can be found in example-key.properties file. To run the app in release mode run:
    flutter run --release

To setup the development environment for Android:

  1. Install Android Studio
  2. Under Tools -> SDK Manager -> SDK Platforms install Android 16.0 ("Baklava")
  3. Under Tools -> SDK Manager -> SDK Tools install Android SDK Build-Tools, NDK (Side by side), Android SDK Command-line Tools (latest), CMake, Android Emulator and Android SDK Platform-Tools
  4. Create an enulator in Tools -> Device Manager.
    Check if emaultor is installed by running flutter emuators and run it via flutter emulators --launch <emulator id>
  5. Install FlutterFire and Firebase CLI:
    npm install -g firebase-tools
    dart pub global activate flutterfire_cli
    echo 'export PATH="$PATH":"$HOME/.pub-cache/bin"' >> ~/.bashrc # add to PATH
    source ~/.bashrc
    firebase login
    flutterfire configure

About

Track your spending, get personalized recommendations and discover the best deals across grocery stores

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors