A visual tour of every screen in dminder, with design rationale and implementation notes. Choose your platform.
Start a sun session, then keep using the app. Browse your history, check your progress, update your profile — your timer keeps running in a compact bar at the bottom of every screen.
Tap it to expand back to the full timer. Swipe the time display to toggle between elapsed and countdown. Your session is always one tap away.
Every screen designed for OLED-friendly, eye-comfortable viewing. Follows your system appearance automatically — no toggle needed.
See all dark mode screensStart a timer on a cloudy day and dminder reads real-time cloud data — including separate low, mid, and high altitude layers — then sets your overcast level automatically. No more guessing with a slider.
Your vitamin D rate and burn time adjust instantly to actual sky conditions. On partly cloudy days, dminder even predicts when the sun is about to break through and sends you a notification.
High (cirrus) — 25% UV block
Mid (altocumulus) — 60% UV block
Low (stratus) — 85% UV block
All vitamin D calculations, gauge math, MED algorithms, and D-level estimation run in a shared Rust core compiled to native code on each platform. The iOS app uses SwiftUI with the Rust library via FFI; the Android app uses Jetpack Compose with JNA bindings to the same Rust crate. Zero logic duplication.