A privacy-first Android app that uses camera-based facial analysis and real-time UV data to help users manage sun exposure based on skin type, time of day, and location — without uploading anything to the cloud.
I built this to bridge health and technology in a way that empowers users. As someone focused on optimizing performance, longevity, and discipline, I wanted to create a tool that helps people reap the benefits of sunlight — vitamin D, energy, mood — without risking overexposure or damage.
This is for people who care about their health and their data.
- 🔍 Real-Time Face Analysis: ML Kit detects skin tone from the camera — all on-device.
- 🌐 Live UV Index Integration: Pulls your local UV index from an external API.
- 🧠 Personalized Exposure Timer: Estimates safe sun time based on your skin type and current UV level.
- 🧾 Session Logging: Tracks each sun exposure session in a local Room database.
- 🧘🏽 No Cloud. No Storage. No BS. All data stays on your phone.
Component | Tech |
---|---|
Language | Java (Android) + Kotlin Coroutines |
ML/Face Detection | Google ML Kit (on-device only) |
Local Database | Room DB |
UI Architecture | LiveData, ViewModel, MVVM pattern |
Networking | Retrofit |
Location & Time | Geolocation APIs |
- Follows Android best practices for separation of concerns
- Room used to persist session history locally
- Uses
LiveData
for reactive UI updates - ML Kit runs face detection on-device for privacy & speed
- Coroutines manage API calls and sensor data for smooth async handling
- ☁️ Offline UV prediction fallback
- 🔔 Smart timer notifications
- 🧬 Optional vitamin D calculator
- 🧘🏾♂️ Integration with wearables
- 🌑 Dark mode UI
- Clone the repo:
git clone https://github.com/zechariahcopelan/sun-exposure-app