ARCHITECTURE

Technical

Stack

SwiftUI, Swift 6, iOS 18.2+. MVVM with @Observable. SessionManager drives auth state and profile lifecycle.

Backend

Firebase Auth (email, Apple, Google). Firestore for user profiles and weight entries. Offline-first with local persistence.

Monetisation

Superwall paywall. Basic (free) vs Pro (paid) tier. Paywall gate after onboarding review step.

ENGINE

Cut Science

Trend Weight

EWMA (Exponentially Weighted Moving Average) smoothing. Eliminates daily noise — shows the real direction.

Pace System

4-state: onTrack (green), tooFast (amber), trailing (amber), danger (red). Drives all UI colour.

Projection Cone

Uncertainty-aware forecast. Widens over time. Shows probability of making weight by weigh-in date.

Cycle Intelligence

Menstrual cycle offset/buffer for female athletes. Phase-aware projections, non-diagnostic supportive messaging.

BALANCED THEME

Design Tokens

TokenValueUsage
Accent#a32a18Brand red, CTAs, active states
Ink#15140fPrimary text
Paper-2#f6f4efPage background
Paper#ffffffCard background
Green#2f5a24On track
Amber#6f5210Too fast / trailing

Typography

Oswald — display, eyebrows, buttons (uppercase, 0.12em tracking). IBM Plex Sans — body. IBM Plex Mono — metadata, labels.

Shape

Card radius: 20px. Control radius: 14px. Shadow-only (no borders on Balanced). Min touch target: 44pt.