Skip to content

Four-pillar dashboard, on-device workout generation, and a Watch app #46

Description

@sarthakagrawal927

Depends on the four-pillar measurement work landing first — a dashboard over measures that do not exist yet would be inventing numbers, which Setline refuses to do everywhere else.

Four-pillar dashboard

Weekly dose against target and a trend per pillar. Swift Charts for estimated 1RM, tonnage per muscle group, range of motion, pace and zone distribution. Honest empty states throughout: no evidence means no chart.

On-device generation

SystemLanguageModel with @Generable guided output producing a structured block, then validated by a deterministic checker before anything is written — equipment actually available, weekly volume sane, rest ranges legal, progression rules coherent. Two uses:

  • Natural-language authoring: "40-minute push day, no barbell"
  • Free-text plan import: paste a programme, get a structured block

Gated on SystemLanguageModel.default.availability. Devices without Apple Intelligence fall back to the rule-based generator, which exists regardless — progression logic must stay deterministic, and a model must never be the thing that decides a load.

watchOS companion

Session player on the wrist, live heart rate during cardio, haptic rest and interval alerts, syncing through the shared CloudKit container. Depends on iCloud sync landing.

Verification

Generated blocks must pass the deterministic validator in tests. Chart empty states verified in simulator. A Watch session must complete and merge on real hardware.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions