Ferrokinetic
A deterministic-first training and recovery platform that combines Polar wearable data, structured workout planning, athlete context and user-approved plan adaptation.
I built Ferrokinetic as a real mobile product for my own endurance and Spartan/OCR training, with a strong focus on auditability, data provenance and reliable full-stack engineering.
System Flow
Visible · Auditable · User-controlledWhy I Built It
My training combines planned strength work, running, trail sessions, OCR-specific preparation, event goals, changing availability and Polar recovery data.
When those signals lived separately, simple questions became surprisingly difficult:
- >What should I do today?
- >Does today's recovery state materially change the planned session?
- >Did the completed workout match the intended training stimulus?
- >Should the remaining week be reviewed after an unexpectedly hard or long session?
- >Is the recommendation based on fresh, trustworthy data?
Ferrokinetic was built to make those decisions visible, auditable and user-controlled.
Deterministic First, AI Second
Ferrokinetic intentionally does not let an LLM invent readiness decisions.
Backend rules calculate recovery and freshness state, sleep and ANS context, recent load, readiness bands, safety restrictions, workout progression and plan compatibility. Those decisions are persisted as structured state.
AI is then allowed to explain those facts, summarize selected outcomes and assist with constrained planning context.
Not: prompt → AI invents application state.
User Control & Immutable History
- Daily recommendations are persisted and auditable.
- Plans and decisions are versioned rather than silently overwritten.
- A completed subjective morning check-in can refine an objective wearable-based decision.
- Later Polar synchronization cannot silently overwrite that refined decision.
- Weekly reflow produces a proposal that the athlete explicitly accepts or dismisses.
- Original planned workouts remain visible when an effective replacement is created.
Wearable Data Without Invented Precision
Ferrokinetic integrates with Polar AccessLink for training, sleep, Nightly Recharge and ANS Charge. It distinguishes confirmed, partial, stale and unavailable data—and deliberately does not fabricate values that the source does not provide reliably.
User-scoped synchronization, a historical Cardio Load ledger/backfill, athlete IANA timezone, a canonical DailyDecision shared across relevant screens, and finalized same-day sleep gating for the morning check-in keep source context explicit without exposing personal health values.
Planning & Core Foundry
- >Monday–Sunday weekly planning
- >Availability, off/easy-only days and protected training anchors
- >Event goals and event-aware phases: base, build, specific preparation, taper, event week and recovery
- >Optional weather, location and equipment context with provenance
- >Versioned weekly drafts and explicit athlete approval
- >Canonical workout-template builder with typed exercise prescriptions, laterality, rest and RIR
- >Immutable planned-workout snapshots, deterministic progression and compatibility-based swaps
- >Immutable swap history and structured endurance session composer
From Plan to Execution
Strength
A canonical strength runner supports typed sets, reps, load, assistance and holds where appropriate, per-side handling, rest timers, session notes, exercise history and progression context.
Endurance
Structured running, trail-running and cycling intent is recorded separately. The app waits for safely matched Polar activity data rather than pretending the phone recorded metrics that it did not.
These are explicit, auditable athlete actions.
After Action Report
After completed training, Ferrokinetic can connect planned intent, safely matched Polar activity and athlete-reported execution context.
The report does not reconstruct unavailable Polar data or make medical interpretations of athlete notes.
Adaptive, But Never Silent
Completed training can trigger a bounded proposal to modify eligible future sessions. Ferrokinetic does not silently rewrite the remaining week.
The athlete sees the proposed change and explicitly accepts or dismisses it. This preserves the original plan and maintains an auditable history of adaptation.
Private Beta as a Real Product System
- >Clerk authentication with persistent owner and beta_tester roles
- >Invite-only access bound to verified email and strict user-scoped data isolation
- >In-app Beta Feedback with optional user-selected screenshot and a safe diagnostic bundle
- >Owner-only feedback inbox, severity/lifecycle status, request IDs, private preview and internal notes
- >SMTP/Brevo notifications and private S3/R2-compatible screenshot storage
- >Graceful degradation: report persistence succeeds even when email or screenshot storage fails
This exists to operate an actual closed beta, not simply as a demo feature.
Privacy & Safety Boundaries
Ferrokinetic processes fitness and recovery data as sensitive user data.
- Strict user-scoped access
- No sale of health/recovery data
- Diagnostic bundles exclude secrets and high-sensitivity data by default
- No tokens, raw Polar payloads, GPS routes, raw health values or private athlete notes by default
Ferrokinetic is designed for fitness, performance and training context.
It is not medical advice, diagnosis, treatment, injury prediction or a replacement for a coach or clinician.
Technical Architecture
Current Status
Ferrokinetic is currently in a creator-led, invite-only private beta. The core personal daily-use loop is implemented:
Onboarding → Polar Sync → DailyDecision → Plan → Workout Execution → Polar Actual Activity → After Action Report → Weekly Reflow → Feedback / Beta Operations
Current work focuses on real-device validation, regression hardening, field testing with real training data, private-beta operations and continued product refinement.
Garmin support is a future integration.