An Android app that uses on-device TensorFlow Lite to identify Ghanaian Cedi notes and coins from the camera or gallery and speaks the result aloud, built for fast, offline currency verification and accessibility.
# Ghana Cedi Detector
An Android app that uses on-device machine learning to identify Ghanaian Cedi banknotes and coins from the camera or gallery, then announces the result out loud. Built to help visually impaired users and anyone needing a quick, offline way to verify Ghanaian currency.
## Features
- **Live camera detection** — point the camera at a note or coin and capture a scan.
- **Gallery import** — pick an existing photo to classify instead of using the camera.
- **On-device inference** — classification runs locally via TensorFlow Lite, no internet connection required.
- **Spoken results** — tap "Speak Result" to have the detected denomination read aloud.
- **Supports the full Cedi lineup** — notes (1, 2, 5, 10, 20, 50, 100, 200 Cedis) and coins (1, 2 Cedis, 10, 20, 50 pesewas).
## Screenshots
| Camera Scan | Different Detection Result |
| --- | --- |
| | |
## Tech Stack
- **Kotlin** + **Jetpack Compose** for UI
- **Hilt** for dependency injection
- **CameraX** for camera capture
- **TensorFlow Lite** for on-device currency classification
- **MVVM** architecture (`presentation` / `domain` / `data` layers)
## Project Structure
```
app/src/main/java/com/group3/ghanacurrencydetector/
├── data/ # TFLite classifier and repository implementation
├── di/ # Hilt modules
├── domain/ # Use cases, repository interfaces, models
├── presentation/ # ViewModels and Compose screens
└── ui/theme/ # Compose theming
```
## Getting Started
### Prerequisites
- Android Studio (latest stable)
- JDK 17
- Android SDK 35
### Build & Run
1. Clone the repository:
```bash
git clone
github.com
```
2. Open the project in Android Studio.
3. Let Gradle sync, then run the `app` configuration on an emulator or physical device (minSdk 24).
## Permissions
The app requests `CAMERA` and media/storage read access to capture or select photos of currency for detection.