← All platforms

iOS Gallery

Every screen in dminder for iPhone & iPad, built with SwiftUI. 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 Tab — Timer

Sun Session Timer

When you start a session, the home screen transforms into a live timer that tracks vitamin D production in real time and warns you before you burn.

Live IU counter — Calculated from current UV index, skin type, skin exposure percentage, SPF, and body position. Uses the same Rust calculation engine on both platforms.

Burn time countdown — Based on your Fitzpatrick skin type and real-time UV. The safety margin is 80% of calculated MED (Minimal Erythemal Dose) to keep you safe.

Skin exposure slider — Adjust how much skin you have exposed. Face and hands = 10%, which produces 50 IU/min at UV 8. Full body = 500 IU/min — validated against a Solarmeter D3 reading.

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.

Time ranges — Toggle between Today, Week, Month, and All Time. The daily total shows cumulative IU against your goal with a progress bar.

Quick add — The + button opens a fast entry flow for any vitamin D source. Most people use it for supplements and food between sun sessions.

Progress Tab

Sufficiency & Achievements

The Progress tab opens with motivational metrics at the top, followed by detailed gauge cards. The design emphasizes positive reinforcement over clinical precision.

Dual sufficiency rings — Left ring: consecutive-day streak of being 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.

Badge shelf — Achievement badges computed from your history. Unlocked badges glow, locked ones are grayed out with progress shown.

Estimated D Blood Level — The first gauge card shows your estimated blood level in ng/mL with a risk zone label (Deficient, Insufficient, Sufficient, or Excess). Computed from your intake history, half-life decay, and baseline lab results.

Progress Tab — Gauges

Analog Instrument Gauges

Scrolling down reveals the intake gauges — each rendered as a realistic analog instrument inspired by the legacy app's iconic gauge design.

Metallic bezel — Angular gradient rim with 9 brightness stops cycling light→dark→light, creating a brushed aluminum look. Drawn as a SwiftUI Shape with AngularGradient, no bitmap assets.

Color-coded arcs — Red (danger) → Yellow (caution) → Green (optimal) → Yellow → Red. Zone boundaries come from the Rust FFI gauge calculator, not hardcoded thresholds.

Animated needle — 0.6s ease-out on first appearance, 0.3s ease-in-out on value changes. Aluminum metallic gradient with drop shadow.

Profile Tab

Your Vitamin D Profile

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

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.

Risk assessment — Live sunburn risk score (based on current UV and skin type) and deficiency risk (based on estimated blood level, latitude, and season). Color-coded badges make the risk level immediately scannable.