Skip to content
All projects
Software EngineeringCompleted2025

Receipt Tracker

Receipt Tracker is a Kotlin Android app that turns a photographed receipt into a categorised expense using ML Kit’s offline OCR and a set of regex and keyword rules, then syncs it to Firebase Firestore per user. Statistics screens break monthly spending down by category with pie and bar charts. Built solo for a university module, with categorisation deliberately tuned to local retailers rather than a generic model.

Role
Sole developer
Year
2025
Status
Completed
Category
Software Engineering
Tools & technologies
KotlinAndroid SDKML KitFirebase AuthFirestoreMPAndroidChart
Links
GitHub
Receipt Tracker cover — an abstract arrangement suggesting a scanned receipt.

The problem

Manually logging everyday cash and card spending is tedious and error-prone. The app removes the typing step by reading the total straight off the receipt and filing it under a sensible category.

Context

An “App Development in Android” module at HWR Berlin, summer semester 2025, submitted 16 August 2025 as a feature-complete v1.0 with a signed release APK.

Key decisions

On-device OCR, transparent parsing

All inference runs on-device via ML Kit. A currency-aware amount parser scans €/EUR lines first, normalises European number formatting, and only falls back to the largest number when no currency-tagged amount is found — with cloud persistence limited to Firestore.

Localised, rule-based categories

Category detection is a transparent keyword lookup table tuned to local retailer names, deliberately localised rather than ML-based.

Outcomes

  • Delivered a working, feature-complete v1.0 with a signed release APK for submission.
  • End-to-end scan → parse → confirm → store pipeline running fully on-device for OCR, with cloud persistence via Firestore.
  • All planned scope completed: auth, scanning, OCR, auto-categorisation, manual entry, history, monthly charts, and edit/delete.