Everything in one place
Calories, macros, hydration, supplements, weight, steps — plus heuristic scores for sleep and recovery. One opinionated dashboard, no spreadsheet required.
Private Healthtracker
Track nutrition, hydration, supplements, sleep, recovery, weight, and more — all computed on your iPhone, never sent to a server.*
*Optional AI food description is the only outbound call, and only on iPhones without Apple Intelligence — see Privacy below for details.

iPhone — Dashboard
Braun-inspired brutalism: flat surfaces, one punchy accent.
What Vitora does
Calories, macros, hydration, supplements, weight, steps — plus heuristic scores for sleep and recovery. One opinionated dashboard, no spreadsheet required.
Everything runs on your iPhone. There is no Vitora account, no server-side health data, no third-party tracking.
Four deliberate visual themes — Black, Gradient, Industrial, and Swiss Poster. This website is the Industrial one.
Daily balance vs your goal, with active and basal energy.
Protein, carbs, fat, sugar — logged manually, by barcode, or by AI description.
Quick-add buttons; everything syncs to Apple Health.
Your own list, taken vs total, stored only on your phone.
Trend chart with optional goal — turn it off if you don't want one.
HealthKit's daily count, with a 35-day calendar heatmap.
Calories in vs energy burned, when the data exists. We never guess.
A heuristic 0–100 score from HealthKit's sleep stages — duration, quality, consistency.
A readiness signal from HRV, resting heart rate, sleep, and respiratory rate, scaled to your own 14-day baseline.
The methodology
Recovery Score
0–100HRV 35% · Sleep 30% · Resting HR 25% · Respiratory Rate 10%
Computed on-device from four signals taken from last night's sleep window — not daytime values — so stress spikes during the day don't skew the score. Each signal is graded as a z-score against your own 14-night median and personal variability, so normal biological fluctuations don't read as poor recovery. A calibration mode runs during your first nights, until enough baseline data is available. Missing signals are ignored and the remaining weights are rescaled — never replaced with synthetic placeholders.
Score bands
Heuristic, not a medical diagnosis tool.
Sleep Score
0–100Duration 40% · Quality 35% · Consistency 25%
Computed locally from HealthKit's sleep-stage data the morning after. Quality decomposes into stages, efficiency, and awakenings using thresholds from sleep-medicine literature (AASM).
Heuristic, not a medical reading.
Load
How hard did you train today — and is that a lot or a little, relative to what your body can handle?
HealthKit inputs
Algorithm
Qualitative bands
ACWR is only meaningful after 14 days of training history. Until then the app shows "calibrating" instead of the ratio.
On-device from HealthKit. No cloud. No external API.
Energy
Continuous energy index. Charges in your sleep, drains across the day — the sympathetic counterpart to Strain.
Charging during sleep
Charge speed is proportional to Sleep Score quality: (sleepScore / 100) × hours × 12.5 pts/h. 8h × score 100 → 100 points. 6h × score 60 → 45 points. Floor of 15 so a rough night doesn't collapse to zero.
Draining during the day
For every HealthKit HR sample the drain rate is linearly interpolated between resting heart rate (0.04 pts/min) and max effort (1.1 pts/min). A 6-BPM buffer above RHR prevents normal sympathetic tone from draining the battery while you're sitting still.
Qualitative bands
A continuous energy metric like this is usually locked inside proprietary cloud engines on dedicated smartwatches. Vitora computes it openly from HealthKit data — on your iPhone, with no external service.
Daily cue
A rule-based engine turns the morning scores into a concrete daily cue. Eight categorical outputs, each with a transparent reason — no black-box ML.
Cascade · priority top to bottom
Every recommendation text is shown in full — you see why Vitora picked it. Deliberately different from ML-driven recommendations whose logic stays opaque.
The differentiator
Vitora computes statistically significant relationships between your behaviour and your vitals — on the iPhone. You don't just see numbers — you see what's causing them.
Example insights
Checked against three vital signals
First patterns surface after 10 logged days. With a realistic 30-day history, typically 4–8 significant patterns emerge.
What the UI shows
Algorithm
“Every calculation runs on your iPhone. The full method is written right above — every step, in order. The patterns Vitora surfaces are something you can re-check, not something you have to take on faith.”
Inputs
Diary feature. You mark each day with what happened — alcohol, late meal, sauna, stress, type of training — plus mood (1–5) and free notes. The tags feed the Correlation Engine.
Mood scale
Bad · Low · OK · Good · Great (1–5), rendered as ascending bars.
First SwiftData integration in Vitora. Data lives in the local store on the device and never leaves the iPhone.
19 curated tags across 5 categories
Sunday 9 AM
A fully automated, magazine-style weekly edition. Delivered every Sunday at 9. Turns Vitora from "app I check every day" into "app I look forward to".
Week 21 · Sample
Recovery trend
Avg recovery
0
Longest sleep
0h 00m
Peak strain
0
1-page spread
Auto-trigger
Data sources — re-uses what's already there, no extra permissions
Swiss Poster is the showcase: 36 pt masthead with −1.5 tracking, 4 pt black rule, 120 pt hero number with −4 kerning, editorial coral as the data colour, editorial navy for baselines — pure Müller-Brockmann poster optics.
Composed locally. Push notifications are local UNCalendarNotificationTrigger instances — no push server.
“Every Sunday at 9 a brand new edition. Composed locally. No cloud. No tracking.”
Quiet archive
A subtle retention system without the usual gamification noise. Reads like a museum index-card archive: dense monospaced numbers, no confetti, no "+50 XP" floaters. Vitora detects milestones automatically from your HealthKit data and stores them forever.
15 automatically detected milestones · 6 categories
8 personal records with dates, updated automatically
Museum, not arcade. No push sound on unlock. No full-screen achievement modals. The dashboard card just shows a small "X new" pill. The full archive is only visible on tap — you decide when you want to look.
“An archive of your progress. Not a game. Not a reward system. Just your real personal bests — automatically detected, stored locally.”
Personalisation
Every card on the dashboard can be arranged in any order. Daily Recommendation, Daily Balance, Protein, Activity, Strain, Recovery, Body Battery, Journal, Patterns, Water, Weight, Supplements, Milestones — all 13 slots are freely sortable.
Interaction model · 1:1 like the iOS Home Screen
Technical
SwiftUI's native .draggable and .dropDestination APIs (iOS 16+) — the same system mechanisms Apple uses in Reminders, Files and Home Screen customisation. Auto-scroll at the scroll view's edge comes for free. The order is stored in UserDefaults via a versioned key; new cards in later builds append to the end without discarding the user's layout.
Medium widgets

Daily Balance
Calories and macros at a glance, with your daily target.

Vitora Metric
Pick any score or metric — calories, recovery, sleep — and pin it to your home screen.

Morning Vitals
Last night's Sleep and Recovery scores, side by side.
Large widget

Full Dashboard
Every score and metric — the full picture in one widget.
Personalisation
Each widget's edit sheet has a Card Colour Picker with eight colours from the Swiss Poster palette — Paper, Red, Amber, Navy, Ink Black, Cream, Mint, Lilac. Only takes effect under the Swiss Poster theme; other themes keep their own widget background. Widgets also adapt correctly to iOS 26 tinted and transparent Home Screen modes via widgetRenderingMode.
Privacy by default
All score calculations run on device.
Apple Health is the only source of truth — Vitora reads from it and writes back what you log.
No Vitora server stores your health data. There is no account.
AI food description is opt-in. On devices that support Apple Intelligence, the text you type is processed directly on your iPhone — nothing leaves the device. Only when your iPhone does not support Apple Intelligence is the text sent to Google Gemini for nutrition analysis. Vitora does not store it.
The same dashboard, four deliberate visual languages. Choose the one that suits your taste — switch any time.




“Industrial is the theme of this website. It's also the one Dieter Rams would have shipped.”
At launch
One email at launch. No newsletter, no marketing list, no sharing.
Because the scores are heuristics — useful trend signals, not diagnoses. We name the inputs and weights so you can argue with the methodology. A medical device would need clinical validation and regulatory clearance; Vitora is a fitness companion, and we say so.
Vitora runs a Welch's t-test per (tag, outcome) pair locally in Swift. You see the path: sample sizes, p-value, signal strength. Most other apps run their pattern detection on a server and don't publish the math. Vitora's method is written in the section above — another developer could rebuild it exactly.
No. Strain is computed entirely from Apple Watch workouts and HealthKit heart rate — Karvonen %HRR, Edwards zones, TRIMP, ACWR. The Apple Watch samples HR every 5–10 seconds during workouts anyway, which is plenty for accurate zone allocation.
Nothing, by default. All scoring runs on the iPhone. The only potentially outbound call is the optional AI food description. If your iPhone supports Apple Intelligence, the text you type is processed on-device. Only when it does not is the text sent to Google Gemini for analysis — no user ID, no health context.
The Sleep Score requires sleep-stage data, which today only the Apple Watch provides. Recovery similarly needs HRV and resting heart rate. You can still use Vitora for nutrition, hydration, supplements, weight, and steps without a Watch.
Not currently. Vitora is built tightly around HealthKit, which is iOS-only. An Android version would require a different data source and a different product.
No — Vitora is completely free, forever. Every feature is included. No ads, no data resale, no premium tier. If it helps you and you'd like to support continued development, there's an optional “buy me a coffee” button inside the app. It never gates a feature; it's just a tip jar for the developer.
Apple's Vitals flags individual metrics that are outside your normal range. Vitora combines HRV, resting HR, sleep, and respiratory rate into a single 0–100 readiness signal, weighted and scaled against your own 14-day median.