---
title: "Turning a training method into a mobile app and its back office"
description: "For Essan NFC, an Expo / React Native app and a MedusaJS back office covering session planning, coaching, nutrition and subscriptions, with an AI coach framed by the method."
url: "https://mc-stud.io/en/work/nfc-training-mobile-app"
author: "Matisse Chenavas"
date: "2026-08-10"
lang: "en"
ai: "true"
---

# Turning a training method into a mobile app and its back office

> The NFC method exists as a product: a mobile app for members and a back office for the team, on a single data foundation.

- **Client**: Essan NFC
- **Sector**: Sport and coaching
- **Period**: 2025-2026
- **My role**: Main developer, mobile, back office and AI
- **Setting**: Through a partner
- **Team**: Embedded in an existing team · 4 people (Embedded in the project team, with at least three other developers.)
- **Status**: Paused
- **Technologies**: Expo, React, Node.js, Medusa, PostgreSQL, TypeScript, pgvector, pnpm
- **Reading time**: 3 min

## At a glance

- **Stake**: Essan NFC’s method lived in documents and one-to-one exchanges, so it depended on the availability of the people who carry it.
- **Mechanism**: An Expo / React Native app and a MedusaJS back office share one monorepo; the AI coach reads member context but cannot change it.
- **Proof**: Main contributor to the repository from September 2025 to August 2026, with an iOS build pipeline validated on a real iPhone.
- **Impact**: The method becomes a path the team administers, and the coach answers from the member’s data rather than from generalities.
- **Limits**: The project is paused: store release, user numbers and commercial results remain unknown.

## The starting point

Essan NFC has a training method: sessions, a progression, nutrition tracking, support from coaches. As long as that method lives in documents and one-to-one exchanges, it cannot follow many members at once. The project was to digitise it without impoverishing it.

## What I built

I was the main developer of the app and its back office, embedded in the project team. The MVP scope covers session planning, nutrition, coaching, subscriptions and the profile. The back office, built on MedusaJS, gives the Essan team control over content, users and coaches; PostgreSQL and pgvector hold the data.

### An AI coach that does not answer from memory

The AI coach needed the most care. A chat assistant plugged in without a frame quickly produces generic, even risky, advice on a subject that touches health. Here, the model receives the member's context through read-only commands and works in bounded research rounds: it relies on what is known, and cannot change anything.

The project also explored running a compact model directly on the phone, for privacy and offline use[^ondevice]. That track stayed a development experiment.

> [!NOTE] Exploring is not committing
> Testing an on-device model served to learn what could change a decision: size, speed, quality. The product itself stayed on a hosted model.

## What the evidence shows

The repository history shows my share of the work[^git], and the AI coach documentation describes its commands and limits. To test on a real iPhone without relying on an online build service, I set up a pipeline that builds and signs the app on a Mac, then installs it on the device[^ios].


## What it changes

The method is no longer carried only by documents and conversations: it becomes a structured path the team administers. The AI coach is designed to rely on the member's data, not on general advice.

## Limits

- The project is paused; I will complete this case with its release status and first usage once they are known.
- In production, the AI coach relies on a cloud-hosted model. Running on the phone was only an experiment.
- Training programmes and nutrition advice are informational and do not replace medical advice.
- The screenshots are a web rendering of the mobile app, on a test account: the tab bar does not look exactly as it does natively.

[^ondevice]: A Gemma model in GGUF format, loaded with @react-native-ai/llama, reachable only from a development-only debug panel.

[^git]: Git history: 222 of 340 commits are mine, from September 2025 to August 2026, alongside at least three other developers. A commit count measures neither effort nor quality.

[^ios]: Pipeline validated on 24 July 2026: build and signing on a remote Mac, installation on a physical iPhone.

---

Matisse Chenavas, Founder of MC Studio. https://mc-stud.io/en/work/nfc-training-mobile-app
