App Gallery

A visual tour of every screen in dminder, with design rationale and implementation notes. Choose your platform.

New in 10.0

Mini-Player

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.

Always Accessible Swipe Countdown Background Alerts
D
7:57 elapsed
3,210 IU
dminder Dark Mode — Home
dminder Dark Mode — Timer
New

Full Dark Mode

Every screen designed for OLED-friendly, eye-comfortable viewing. Follows your system appearance automatically — no toggle needed.

See all dark mode screens
New in 10.0

Automatic Overcast Detection

Start 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.

Low / Mid / High Layers Sun Break Alerts Real-time Adjustment

High (cirrus) — 25% UV block

Mid (altocumulus) — 60% UV block

Low (stratus) — 85% UV block

☀️

Built Once, Runs Everywhere

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.