Skip to content

3dmg/LocalImageRec

Repository files navigation

LocalImageRec

An Android app that analyzes images on your device using on-device machine learning — no internet required.

Features

  • Image Gallery — Browse all photos from your device in a filterable grid
  • On-device ML Analysis — Automatically labels images using Google ML Kit (objects, places, food, animals, etc.) and detects faces
  • Smart Filtering — Filter images by category: People, Food, Nature, Animals, Vacation, City
  • Detail View — Inspect individual images with their detected labels and confidence scores
  • Background Processing — Analysis runs in the background with a progress indicator; results are cached to avoid re-processing

Architecture

Clean Architecture + MVVM with a single :app module.

Presentation  →  ViewModels  →  Use Cases  →  Repository  →  Data Sources
  (Compose)     (StateFlow)    (Domain)       (Interface)    (MediaStore, ML Kit, Cache)

Package: at.mg.localimagerec

Layer Location
UI / Screens ui/gallery/, ui/detail/
Navigation ui/navigation/
Domain models & use cases domain/
Data sources & repository data/
Dependency injection di/

Tech Stack

Category Library / Tool
UI Jetpack Compose, Material 3
Architecture ViewModel, StateFlow, Clean Architecture
Navigation Jetpack Navigation for Compose
DI Hilt
Image loading Coil
ML ML Kit Image Labeling, ML Kit Face Detection
Async Kotlin Coroutines

Requirements

  • Android 7.0+ (minSdk 24)
  • Targets Android 15 (API 36)

Build & Run

# Build
./gradlew assembleDebug
./gradlew assembleRelease

# Install on connected device
./gradlew installDebug

# Tests
./gradlew test                    # Unit tests
./gradlew connectedAndroidTest    # Instrumented tests (device/emulator required)

# Lint
./gradlew lint

Permissions

  • READ_MEDIA_IMAGES (Android 13+)
  • READ_EXTERNAL_STORAGE (Android 12 and below)

About

Test with ML Kit for image recognition

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages