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 us
What 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.

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 →