Skip to content
ORSEN
tren

Progress tracking with an AI coach

A mobile app where athletes log every set with weight and reps, watch their progress in charts and keep training notes. The built-in AI coach reads those logs and suggests a programme for the level the person is actually at. Both platforms ship from a single codebase.

Product
Kas Hafızam
Field
Mobile App
Year
2026
Live at
In stores
Kas Hafızam home screen showing the day's training summary and weekly progress

Problem

Most people track training in phone notes or on paper. They cannot see how far they have come and have no basis for changing the programme. Existing apps are either behind a subscription wall or too fiddly to operate one-handed between sets. On top of that, most gyms have patchy connectivity or none at all.

Requirement

The app had to be usable between sets, one-handed, without demanding attention. The data logged also had to come back to the athlete: progress had to be visible and the programme had to follow it. A dropped connection couldn't lose a log, and both platforms had to move forward together at the same quality.

Solution

We ship both platforms from one codebase. The athlete logs every set, adds a note and sees progress in charts. The AI coach reads those logs and proposes next week's programme; nothing changes until the athlete approves it. Data is written to the device first and synced to the cloud when a connection returns, so no signal at the gym doesn't interrupt anything. A muscle map, programme templates and a community section sit under one roof.

How we approached it

  1. 01

    Feature-first architecture with one-way dependencies: presentation → domain ← data. Screens depend on a shared domain layer rather than on each other.

  2. 02

    Offline first: logs are written to an on-device database and synced to the cloud once a connection is available.

  3. 03

    Data access is protected with row-level security rules; a user cannot query anyone else's training records.

  4. 04

    Every interface string lives in localisation files — there is not one hard-coded string in the app, so Turkish and English move in step.

  5. 05

    Account deletion and privacy disclosures were completed before store review; most rejections come from exactly there.

  6. 06

    Exercise imagery and anatomy illustrations come from public-domain sources with verified licences, and attribution is shown inside the app.

Screens

  • Kas Hafızam workout screen with an exercise list and set logging fields
  • Kas Hafızam muscle map screen showing an anatomical view of the muscle groups worked
  • Kas Hafızam progress screen with charts of weight and volume over time

Outcomes

We keep outcomes qualitative rather than claim numbers we haven't measured.

  • One codebase, two platforms

    iOS and Android ship from the same source, so neither platform falls behind the other.

  • Works without a connection

    Sets can be logged with no signal at the gym and sync on their own once the connection returns.

  • Ready for store requirements

    Account deletion, privacy disclosures and subscription billing were all in place before submission.

  • Equal experience in both languages

    With no hard-coded strings, adding a language is a translation job rather than a development one.

Built with

  • Flutter
  • Dart
  • Riverpod
  • Supabase
  • PostgreSQL
  • SQLite
  • RevenueCat
  • iOS
  • Android

If you have a question, let us start there.

Tell us what you are trying to do. On the first call we will tell you whether we are the right fit, roughly how long it takes and how we would approach it. No sales pitch.

orsenyazilim@gmail.com