Case study · Fitness · Mobile
A coaching business, shipped as an app.
Hara is a coach-led training marketplace: programs built by coaches, delivered as video, tracked in a training journal. We designed it, built it, and shipped it to Android — then re-architected the media layer when the video bill said we had to.
The system, in 60 seconds · Client: Coaching operator
Before and after
What changed.
Before
- Programs delivered over chat and cloud folders
- No record of what a client actually completed
- Video hosting costs that scaled straight up with viewing
- Coach and client data separated only by convention
- No route to distribute the product to a phone
After
- Coach-authored programs with structured exercises and media
- A training journal that records what was actually done
- Video served from unmetered object storage — viewing cost held flat
- Authorisation enforced in the database, not in the client
- Shipped and installable on Android
What we built
The system, module
by module.
Coach programs
Structured, multi-week programs authored by coaches and assigned to clients.
Video training
Exercise video streamed to the phone, uploaded by coaches through presigned direct upload.
Training journal
A per-session record of what was completed, not just what was prescribed.
Social layer
Coach and client profiles, so the product carries the relationship it is built on.
Database-enforced authorisation
Row-level policies as the security boundary — an authorisation bug cannot be shipped in the client.
Cost-stable media
Delivery moved to unmetered object storage so growth in viewing does not become growth in invoice.
How it is built
The engineering underneath.
Mobile
React Native via Expo, distributed as an Android build
Data layer
Postgres with row-level security as the authorisation boundary
Media
Object storage with unmetered egress; presigned direct uploads via an edge function
Delivery
Managed build and distribution pipeline
Questions
About this
engagement.
If you are weighing something similar, ask us directly. We answer scoping questions before there is a contract in sight.
Talk to usWhat is Hara Fitness?
A coach-led training marketplace built by Ontilus: coaches author structured programs with video, clients follow them on a phone, and a training journal records what was actually completed. It is shipped and installable on Android.
Why was the video layer rebuilt?
The original host metered egress, so every extra viewer raised the bill. We moved delivery to object storage with unmetered egress, which held running cost flat as usage grew. Playback needed no rewrite because the app plays whatever URL the exercise record points at.
How is one coach's data kept away from another's?
Authorisation lives in the database as row-level policies rather than in the app. The client cannot ask for data it is not entitled to, because the boundary is enforced below it.
More work
Other systems
in the field.
Start here
Live in 12 weeks.
Proven before it scales.
We pilot on one entity and validate against your own reports before anything goes wider. See the full deployment approach →