Contents8
At a glance
In thirty seconds- StakeEssan NFC’s method lived in documents and one-to-one exchanges, so it depended on the availability of the people who carry it.
- MechanismAn Expo / React Native app and a MedusaJS back office share one monorepo; the AI coach reads member context but cannot change it.
- ProofMain contributor to the repository from September 2025 to August 2026, with an iOS build pipeline validated on a real iPhone.
- ImpactThe method becomes a path the team administers, and the coach answers from the member’s data rather than from generalities.
- LimitsThe project is paused: store release, user numbers and commercial results remain unknown.
- Client
Essan NFC- My role
- Main developer, mobile, back office and AI
- Setting
- Through a partner
Silico
- Team
- Embedded in an existing team · 4 peopleEmbedded in the project team, with at least three other developers.
- Technologies
Expo
React
Node.js
Medusa
PostgreSQL
TypeScript
- pgvector
- pnpm
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 use1. That track stayed a development experiment.
A Gemma model in GGUF format…
A Gemma model in GGUF format, loaded with @react-native-ai/llama, reachable only from a development-only debug panel.
What the evidence shows
The repository history shows my share of the work2, 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 device3.
Git history: 222 of 340 commits…
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.
Pipeline validated on 24 July 2026…
Pipeline validated on 24 July 2026: build and signing on a remote Mac, installation on a physical iPhone.
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.
Share and reuse
The link, the plain text and visuals ready for LinkedIn.

