← All platforms

Android Gallery

Every screen in dminder for Android, built with Jetpack Compose. Click any screenshot to view full-size.

Home Tab

Solar Dashboard

The home screen is a real-time solar conditions dashboard. At a glance you see your location, current UV index, ozone level, altitude, and the solar arc showing the sun's current position.

Solar arc — The semicircle shows the sun's path from sunrise to sunset. The yellow dot marks where the sun is right now, with the current elevation angle displayed prominently.

D-window — The time window when the sun is high enough for vitamin D synthesis. Computed from solar elevation and real-time ozone data from NOAA satellites.

5-day forecast — Daily UV index and temperature at a glance, so you can plan your vitamin D sessions ahead.

Estimate & Goal — Your current estimated D level (computed from intake history and half-life decay) alongside your target. The progress bar shows how your recent intake compares to your daily goal.

Home — Full Session Flow

Plan, Track, Complete

The full sun session lifecycle — from planning your exposure to tracking IUs in real time.

Planning — Choose skin exposure percentage, set a time or IU target, and see your estimated vitamin D production before starting. Burn time is shown prominently so you know your limits.

Live timer — Progress ring fills as you approach your burn time. UVB dose, UVA dose, and nitric oxide levels update continuously. Pause swaps the turnover button for stop.

Same Rust engine — All calculations use the same shared Rust FFI as iOS — identical math, identical results across platforms.

Home — Quick Add

Log Every D Source

Beyond sun sessions, track supplements and food intake so the pharmacokinetic model has a complete picture of your vitamin D.

FAB menu — The floating action button expands to show all entry types: Sun Session, Supplement, Food, UV Lamp, and Manual Session. Each has its own icon and dedicated entry form.

Quick-tap presets — Supplement entry has one-tap buttons for 400, 1K, 2K, 5K, and 10K IU. Food entry includes a reference table with IU values from USDA data.

Foreground service — Active sessions run in a foreground service with a persistent notification showing elapsed time, IU, and burn countdown — keeps running even when the app is backgrounded.

New in v10

Daily Supplement Schedules

Set it and forget it. Define a daily supplement schedule and the app automatically logs each dose, feeding it into the pharmacokinetic blood level model so your D estimate stays accurate without daily manual entry.

Two modes — Toggle between Single Dose and Daily Supplement at the top of the supplement form. Each mode has its own layout optimized for the task.

Ongoing toggle — Mark a supplement as ongoing (no end date) or set a specific date range. The orange toggle switches between open-ended and fixed-course schedules.

Active schedules list — All your daily supplement schedules appear below the form with amount, date range, and a delete button. Easy to manage multiple supplements at once.

Auto-backfill — The app generates individual dose records at noon each day, so the blood level estimator always has a complete intake picture. No extra tapping required.

History Tab

Unified Timeline

A single timeline for all your vitamin D sources — sun sessions, supplements, food intake, and lab results. Filter by type or time range.

Five source types — Sun, supplement, food, lab result, and lifestyle estimate. Each has its own icon and color. The filter chips at top let you focus on one type at a time.

Intake chart — Visual graph of your vitamin D intake over time, with the goal line shown as a dashed reference. Trends are instantly visible.

Session details — Each entry shows location, duration, UV index, cloud cover, and total IU earned. Tap any entry for the full breakdown.

Progress Tab

Sufficiency & Gauges

Motivational metrics up top, detailed analog gauges below. The design emphasizes positive reinforcement over clinical precision.

Streak & sufficiency — Left ring: consecutive-day streak above 40 ng/mL. Right ring: percentage of the last 90 days you were sufficient. Even if your streak breaks, the percentage stays high — deliberate motivational resilience.

Analog gauges — Blood level and intake rendered as realistic meters with chrome rim, colored zones (red→yellow→green→yellow→red), and shadow-casting needles. Zone boundaries from the Rust FFI gauge calculator.

Rolling totals — 7-day, 30-day, and 90-day intake, each with their own gauge. Goal denominators scale proportionally so you can track consistency across time ranges.

Progress Tab — Projection

Where Is My D Level Heading?

A pharmacokinetic projection engine powered by the Rust ledger crate shows where your blood level will be in 30, 60, 90, or 180 days based on your current intake.

Key metrics — Three cards at the top: Steady State (where your level will plateau), Runway (days before you'd drop below 30 ng/mL with zero intake), and Time to Target (days to reach 40 ng/mL).

Interactive chart — Canvas-drawn line graph with colored zone bands (red <20, orange 20-30, green 30-50). Dashed reference lines for threshold, target, and steady state. Adjust daily intake with the slider and watch the curve update live.

D2 vs D3 bioavailability — D3 is 100% effective, D2 only 40%. Prescription D2 (50K IU/wk) equals roughly 2,857 effective IU/day. This matters for anyone on prescription vitamin D.

Profile Tab

Your Vitamin D Profile

Everything that personalizes your vitamin D calculations lives here — biological data, skin type, preferences, and data management.

Vitamin D section — Target level (default 40-50 ng/mL per Dr. Holick's recommendation) and Fitzpatrick skin type. These directly affect burn time calculations and the sufficiency gauge.

Body measurements — Height and weight are used in the vitamin D pharmacokinetic model. Heavier individuals require more IU to raise blood levels by the same amount. Supports both imperial and metric.

Cloud sync — Back up your data and sync across devices. Export your full history for personal records or to share with your doctor.

First Launch

Guided Onboarding

A focused, one-thing-per-screen flow that collects everything the app needs for accurate vitamin D estimates — without overwhelming new users.

Health Connect integration — Optionally sync height, weight, exercise, and nutrition data from Android's Health Connect. All data stays on-device.

Clinical reference — The vitamin D target screen shows deficient, insufficient, optimal, and high ranges with a slider so users see exactly where their goal falls.

Skin type picker — Fitzpatrick I–VI cards with descriptions. Your skin type drives burn time calculations and vitamin D production rate.

Risk profile teaser — Immediately after review, users see their sunburn and deficiency risk scores — instant payoff for completing the profile.

Review & confirm — All data on one screen before you start. Tap any Edit button to go back and change a field.

Wear OS

WearOS Companion

The same D-Minder experience on your Android watch. Dark navy cards, brand colors, and phone-relayed data for instant UV and vitamin D tracking.

WearOS — Home

Daytime Dashboard

Dark navy card design with the D-Minder orange brand. Big bold UV number, daily vitamin D progress with visible progress bar, and a prominent Start Session button.

Scrollable layout — Horologist ScalingLazyColumn provides proper round-screen scaling with responsive padding.

WearOS β€” Pre-Session
Ready
WearOS β€” Running
Running
WearOS β€” Paused
Paused
WearOS β€” Stop Confirmation
Stop Confirm
WearOS β€” Completed
Completed
WearOS — Session Flow

Full Session from Your Wrist

Pre-session shows UV and burn time at a glance. The active timer uses large monospaced digits with a progress ring. Pause swaps turnover for stop — matching the phone app's control layout exactly.

Color-coded controls — Orange pause, blue turnover, green resume, red stop. No ambiguity about which button does what.

Haptic feedback — Turnover buzzes once, burn warning buzzes three times. No audio on watch — haptics only.

Full Dark Mode Support

Beautiful in the Dark

Every screen in dminder for Android is designed for dark mode. Material 3 dynamic theming with true dark surfaces — not a simple color inversion, but a complete dark theme with carefully tuned contrast and readability.

dminder Home β€” Dark Mode (Android)
Home
dminder Timer β€” Dark Mode (Android)
Timer
dminder Planning β€” Dark Mode (Android)
Planning

Material 3 theming — All screens use MaterialTheme.colorScheme tokens instead of hardcoded colors. Surfaces, text, borders, and icons all adapt seamlessly between light and dark.

System-aware — Follows your Android system dark mode setting automatically. No manual toggle needed — the app adapts instantly when you switch.

Gauges preserved — Analog instrument gauges, chart gradients, UV badges, and brand colors retain their visual identity in dark mode. Only surfaces and text adapt.

dminder History β€” Dark Mode (Android)
History
dminder Progress β€” Dark Mode (Android)
Progress
dminder Progress Gauges β€” Dark Mode (Android)
Gauges
dminder Completed β€” Dark Mode (Android)
Completed
dminder Profile β€” Dark Mode (Android)
Profile
dminder FAB Menu β€” Dark Mode (Android)
FAB Menu
dminder Settings β€” Dark Mode (Android)
Settings
dminder Help β€” Dark Mode (Android)
Help