Skip to content

fix(art): replace stick-figure athlete with the BetterFit mark - #16

Merged
johnnyhuy merged 1 commit into
mainfrom
feat/refine-app-design
Jul 27, 2026
Merged

fix(art): replace stick-figure athlete with the BetterFit mark#16
johnnyhuy merged 1 commit into
mainfrom
feat/refine-app-design

Conversation

@johnnyhuy

Copy link
Copy Markdown
Contributor

Summary

The workout card hero drew a single-stroke stick figure with a red bar through it for the push pose. That read as clip art and fights the design system's rule that illustration must use heavy geometric forms with the same high-contrast confidence as the mark.

AthleteIllustration now renders three compressed white ovals on an ember-tinted surface — the same three-oval form BetterFit's brand mark uses for plates / repetition / forward momentum — with a small SF Symbol (arrow.up / arrow.down / figure.walk / heart.fill) offset below the mark as a category hint.

  • Removed: gradientColors, segments(), point(), drawAthlete(), categoryColor
  • Removed AthletePose.compound and .all cases (unused, kept the four real categories)
  • Card hero space on PlayingCardWorkoutCard grows from 100x140 to 140x140 so the mark has room to breathe
  • AthleteIllustration.size is now an explicit parameter (default 140)

Consequences

  • Same three-oval brand mark used for the mascot and the workout card hero — visual coherence across identity moments and product surfaces
  • The mark stays on the ember product accent (per spec: yellow is for brand moments only, the card hero is product UI)
  • No behavioural change; the card still surfaces the workout name, duration, equipment, and category badge as primary information

Testing

  • 95 SwiftPM tests pass
  • iOS build clean
  • Visual: workout card reads as the same brand mark as the greeting, no stick figure
  • Targeted UI test passes

Co-authored-by: opencode-agent noreply@opencode.ai

The AthleteIllustration drew a single-stroke stick figure with a
red bar through it for the push pose. That read as clip art and
fights the design system's rule that illustration must use heavy
geometric forms with the same high-contrast confidence as the
mark.
AthleteIllustration now renders three compressed white ovals on
an ember-tinted surface -- the same three-oval form BetterFit's
brand mark uses for plates/repetition/momentum -- with a small
SF Symbol (arrow.up / arrow.down / figure.walk / heart.fill)
offset to the bottom as a category hint.
Removed: gradientColors, segments(), point(), drawAthlete(),
categoryColor. The new visual has no pose-dependent coordinates;
the pose only selects the SF Symbol.
Card hero space on PlayingCardWorkoutCard grows from 100x140 to
140x140 so the new mark has room to breathe.
Co-authored-by: opencode-agent <noreply@opencode.ai>
@johnnyhuy
johnnyhuyforce-pushed the feat/refine-app-design branch from 88859a3 to e94d9d7CompareJuly 27, 2026 04:58
@johnnyhuy
johnnyhuy merged commit 4e1d964 into mainJul 27, 2026
5 of 6 checks passed
@johnnyhuy
johnnyhuy deleted the feat/refine-app-design branch July 27, 2026 04:58
@github-actionsgithub-actionsBot mentioned this pull request Jul 27, 2026
johnnyhuy added a commit that referenced this pull request Aug 9, 2026
The AthleteIllustration drew a single-stroke stick figure with a
red bar through it for the push pose. That read as clip art and
fights the design system's rule that illustration must use heavy
geometric forms with the same high-contrast confidence as the
mark.
AthleteIllustration now renders three compressed white ovals on
an ember-tinted surface -- the same three-oval form BetterFit's
brand mark uses for plates/repetition/momentum -- with a small
SF Symbol (arrow.up / arrow.down / figure.walk / heart.fill)
offset to the bottom as a category hint.
Removed: gradientColors, segments(), point(), drawAthlete(),
categoryColor. The new visual has no pose-dependent coordinates;
the pose only selects the SF Symbol.
Card hero space on PlayingCardWorkoutCard grows from 100x140 to
140x140 so the new mark has room to breathe.
Co-authored-by: opencode-agent[bot] <219766164+opencode-agent[bot]@users.noreply.github.com>
@github-actionsgithub-actionsBot mentioned this pull request Aug 9, 2026
Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant

@johnnyhuy