Comment J'ai Construit une App Complète Seul en 3 Semaines
Comment J’ai Construit une App Complète Seul en 3 Semaines
15 janvier. J’ouvre le brief RevenueCat Shipyard. 28 jours pour construire quelque chose de réel.
9 février. Muse Otter est live — 6 coaches IA, input vocal, créateur de coaches custom, système d’abonnement, design natif iPad, et localisation complète.
Voici comment.
Le Timeline
| Semaine | Focus | Livrables |
|---|---|---|
| Semaine 1 | Foundation | Auth, data models, coaches par défaut, chat basique |
| Semaine 2 | Features Core | Input vocal, coaches custom, contexte Know You |
| Semaine 3 | Polish | UI iPad, feature Foundation, onboarding, paywall |
| Semaine 4 | Ship | Tests, docs, assets marketing, soumission |
J’ai pas planifié ça aussi proprement. C’est arrivé parce que j’ai déjà fait ça avant.
La Stack Qui a Rendu Ça Possible
Chaque choix était pour éliminer des décisions :
Frontend: Flutter 3.24 (un codebase, 6 plateformes)
State: Riverpod (code-gen, type-safe)
Backend: Firebase Cloud Functions v2 (zero ops)
Database: Firestore (temps réel, offline)
AI: Genkit + Gemini 2.0 Flash
Paiements: RevenueCat (géré en quelques heures)
Voix: Vapi SDK
i18n: Slang (traductions code-gen)
Pourquoi Flutter ? Un codebase pour iOS, Android, Web et macOS. L’iPad n’est pas une UI de téléphone étirée — c’est un vrai layout trois colonnes.
Pourquoi Firebase ? Je veux pas gérer de serveurs. Cloud Functions scale automatiquement. Firestore gère la sync offline. Auth gère tout de l’anonyme au Google Sign-In.
Pourquoi RevenueCat ? StoreKit et Google Billing m’auraient pris une semaine chacun. RevenueCat a pris un après-midi.
Le Process
Jour 1-3 : Auth + Data Model
Commencer par les trucs chiants :
- Firebase Auth (anonyme d’abord, lier le compte après)
- Structure Firestore (users, coaches, chats, messages)
- Providers Riverpod de base
Jour 4-10 : Faire Que Ça Marche
- Interface chat avec updates temps réel
- Pipeline IA (Genkit → Gemini → Firestore)
- 6 coaches par défaut avec personnalités distinctes
- Système de contexte Know You
Jour 11-17 : Faire Que Ce Soit Bien
- Input vocal avec Cloud Speech-to-Text
- Wizard coach custom (flow de création en 4 étapes)
- Design responsive natif iPad
- Feature Foundation (suivi de croissance personnelle)
Jour 18-21 : Faire Que Ça Ship
- Intégration RevenueCat
- Écrans paywall (soft + hard)
- Flow d’onboarding avec animations de célébration
- Localisation (EN + FR)
- Tests, corrections de bugs, polish
Décisions Clés
1. Auth Anonyme d’Abord
Zéro friction d’inscription. Les utilisateurs peuvent chatter immédiatement. Le linking de compte vient après s’ils veulent sync sur plusieurs appareils.
Résultat : Zéro drop-off à l’onboarding.
2. Pattern Document-Status pour l’IA
Au lieu de WebSockets ou de streaming complexe :
1. User envoie message → status: "pending"
2. Cloud Function se déclenche
3. Genkit appelle Gemini
4. Réponse écrite → status: "done"
5. App se met à jour via listener Firestore
Simple. Fiable. Debuggable.
3. Architecture Feature-First
Chaque feature est autonome :
lib/features/chat/
├── data/ ← Intégration Firebase
├── domain/ ← Logique métier
└── presentation/ ← UI + Riverpod
Pas de dépendances cross-feature. Je peux bosser sur un truc à la fois.
4. iPad Comme Citoyen de Première Classe
La plupart des apps traitent les tablettes comme une réflexion après coup. J’ai construit un layout trois colonnes dès le jour un :
Phone: Chat seulement
Tablet: Coaches | Chat | Contexte
C’est pas plus dur. Ça demande juste d’y penser tôt.
Ce Que J’ai Ship
- 6 Coaches IA avec méthodologies distinctes
- Know You système de contexte personnel
- Foundation journal de croissance personnelle
- Coaches Custom avec création assistée par IA
- Input Vocal via Cloud Speech-to-Text
- Appels Vocaux via Vapi (conversations IA temps réel)
- Système d’Abonnement via RevenueCat
- Design Natif iPad responsive
- Localisation EN + FR
Le Vrai Secret
J’ai construit 3 apps de coaching IA avant celle-ci. BeeDone. Evolum. Strive.
Chaque app rend la suivante plus rapide. Pas parce que je copie du code — je le fais pas. Mais parce que je sais ce qui marche :
- Pattern document-status pour l’IA
- Flow auth anonyme → lié
- Architecture feature-first
- RevenueCat dès le jour un
La première fois que j’ai construit une app de coaching, ça a pris 6 mois. Maintenant ça prend 3 semaines.
Essaie
Muse Otter est gratuit pour commencer. 20 messages par jour, pas de CB.
Si tu construis quelque chose et que tu veux quelqu’un pour brainstormer à 2h du mat’, essaie.
C’est pour ça que je l’ai construit.