Skip to content
Sesin IT

Case studies

Forja — 127 exercises, each one animated

Content at a volume you cannot assemble by hand

The problem

A training app is only useful if it tells you what to do today and shows you how. That means programmes, not exercise lists, and it means an animation per exercise — at a volume where doing it by hand guarantees inconsistency.

What I did

Tooling before content

The 127 animations and the 21 programmes are generated and validated by scripts I wrote first. The validation is the point: it refuses to write anything if a programme references an exercise that does not exist.

Six languages across content, not labels

A programme name is easy. An exercise cue that has to stay correct — and safe — in six languages is not, and it is why the content pipeline validates rather than just translates.

Guidance by age, 6 to 90

Including a postpartum track. Different bodies need different progressions, and pretending otherwise is how fitness apps hurt people.

Built to be watched on a television

Over AirPlay, which changes layout decisions you would never make for a phone.

Where it ended up

No backend at all: everything runs on the device and syncs through the user's private iCloud. Nothing to operate, nothing to leak.

Built with: Swift · SwiftUI · CloudKit · StoreKit · AirPlay

Want something like this?

Two lines about the project is enough to start. A person reads it and a person answers.