ChronicLog
Overview
ChronicLog is an Android app that helps users with chronic conditions track symptoms, medications, and health events over time. It gives patients a clear picture of their health history to share with doctors and spot patterns themselves.
The Problem
People managing chronic illnesses often struggle to recall symptoms accurately during doctor visits. Existing health apps are either too generic or require manual data entry that doesn't persist reliably across devices.
My Approach
- Architected the app using the MVVM pattern with a Repository layer, keeping UI, business logic, and data persistence cleanly separated across
MainViewModelandHealthRepository - Used Firebase Authentication with scoped Firestore security rules so each user's data is strictly isolated — no shared collections, no accidental exposure
- Integrated the OpenFDA Drug and Adverse Reaction API via Retrofit/OkHttp with coroutine-based debounced search so the medication lookup feels instant without hammering the API
- Built a camera capture + Firebase Storage pipeline so symptom photos persist across devices, not just locally
Screenshots
Login page
Home dashboard with share-with-provider option
OpenFDA-powered medication search
Add a medication with dosage and frequency
Scrollable log history
Adding a new log with symptoms and remediations
Trends of users log and symptoms data
User settings
What I Learned
- Designing a Firestore schema that scales requires thinking about query patterns first, not data shape
- Debouncing API calls in Kotlin coroutines using Flow operators was more elegant than the handler-based approach I started with
- I really enjoy android programming and will continue working on the application!