On-device recognition
CameraX handles capture and ML Kit reads text locally. A review step lets users correct extracted fields before saving a contact, rather than treating OCR output as final.
A native Android business-card scanner that turns card photos into organized contacts and follow-up reminders, with on-device text recognition and local storage.

Android Developer
Built the scan-to-contact workflow, from camera capture and gallery import to editable OCR results, searchable contact profiles, reminder scheduling, and CSV export. Developed the Kotlin and Jetpack Compose application and published it on Google Play.
Select a screenshot to enlarge it.
Kotlin / Jetpack Compose / MVI
CameraX / ML Kit OCR
Room / Flow / WorkManager
CameraX handles capture and ML Kit reads text locally. A review step lets users correct extracted fields before saving a contact, rather than treating OCR output as final.
Room persists contacts and follow-ups. Coroutines and Flow feed ViewModel state into Compose screens, with explicit user actions and Koin dependency injection.
WorkManager schedules reminder notifications, while contact status and completion tracking support the next conversation. CSV export lets users take their contact data with them.