Platforms
Android, API
AI
Gemini (vision + text)
Code
Public on GitHub

The challenge

People keep strips of medicine without the box and can't tell what a tablet is or whether two medicines are safe together. The app had to recognise a medicine from a photo and keep AI costs and abuse under control.

What was built

  • Android app: CameraX scanner, pharmacy map, reminders with intake logging, history
  • Spring Boot API with Gemini-powered image recognition and analysis
  • Roles for users and verified healthcare providers, email verification, password reset
  • Rate limiting and caching on the AI endpoints

Engineering decisions

The parts that make it hold up in real use

Cost control on AI calls

AI endpoints are rate limited per user (Bucket4j) and repeated answers are cached (Caffeine), so one user can't run up the bill.

Clean Architecture on Android

Data, domain and presentation layers with use cases, Hilt for injection and Room for offline data, so features can change without breaking each other.

Stack

KotlinJetpack ComposeHiltRoomCameraXSpring Boot 3PostgreSQLGemini APIDocker

Need a product built this carefully?

Share a few details and you'll get a reply within 24 hours: honest advice, a rough range, and the next step.