One-to-one and group threads
Each client has a thread with their coach. Group threads carry membership management and role badges, so it is clear who is a coach, a closer or a member.
The brief
The course content, the coaching conversations and the progress data each lived on a different platform. Relance Métabolique wanted them in one app, published under its own name on both stores, with the data behind it in a database the company controls.
That shaped the build. Wherever a hosted service would have been quicker to wire up, we priced what it would cost the client in ownership before we used it.
How we framed it
The app is the product. Anything the business cannot change, export or take with it does not belong in the build path.
The program
The full Relance curriculum sits in the app: Libération, Réintégration, Rééquilibre and the Défi Boost track. The rented course platform is gone.
Coaching
This is the largest piece of engineering in the app. Coaches had been working out of a personal Messenger inbox; the conversation now lives beside the client's progress data, and the business owns both.
Each client has a thread with their coach. Group threads carry membership management and role badges, so it is clear who is a coach, a closer or a member.
Text, photos and voice notes recorded in the app. A coach can answer a long question by speaking it, which is how most of them prefer to work.
Messages arrive live, with typing indicators, reply quoting, pinned messages, per-conversation mute and deletion governed by role.
A coach answers a recurring question from a saved reply, and opens the client's summary sheet without leaving the thread.
A coach writes once, picks a recipient list and a time, and a server-side job sends it and keeps the run history.
Coach, closer and member each get their own permission set, so pre-sale conversations stay separate from coaching.
Why we built it
We evaluated the hosted chat products first. Each one brings its own backend and meters by active user, so picking one would have moved the conversation data onto a third platform and put a per-client cost on growth. That is the dependency the project existed to remove.
What we built instead
The messaging interface runs directly against Supabase, the database the app already uses. Role gating, group semantics, voice capture and the coach tooling are all ours, and every message stays in the client's own database.
Progress
Weight, measurements and photos used to be self-reported into whatever the client had to hand. They are now recorded in the app, charted for the client and visible to their coach.
A separate Coach IA tab answers routine program questions, backed by a self-hosted n8n workflow that keeps the conversation thread. It opens by telling the client it can be wrong and that their human coach is the authority. It exists to protect coach time on the questions that have a documented answer.
Delivery
The first version shipped from FlutterFlow on purpose, because it was the fastest way to settle the product questions with real clients. When the roadmap turned to the messenger, we left the platform.
The result
Relance Métabolique ships its own app on both stores, with the program, the coaching and every client's history in a database the company controls.
For the clients
One login for the whole program: the phases, the food lists, the recipes, the guides, their coach, and their own progress over time.
For the coaches
An inbox across every assigned client, with canned replies, scheduled broadcasts and the client's context available inside the thread.
For the business
No course platform subscription, no chat service metering active users, and no low-code vendor sitting in the build path.
Flutter, SDK pinned with FVM · Dart · Supabase for Postgres, auth, storage, realtime and edge functions · Firebase Cloud Messaging · go_router · provider · GoHighLevel CRM · self-hosted n8n · Maestro · Codemagic
The Relance Métabolique program, its methodology and its content belong to Relance Métabolique. The app ships in French.
We build mobile products end to end, from the first version that answers the product questions to the release pipeline that publishes every build after it. You keep the repository, the database and the store listings.
Building a mobile appWe ship it, you keep the codebase.
Book a call