Onboarding social-first
Signup OAuth → provisionSelf backend → wizard username/langues/téléphone → import Goodreads CSV → premières recommandations personnalisées.
Étude de cas — Réalisation
Le réseau social pour vrais lecteurs — sans pub, sans pistage, sans feed infini
iOS · Android · Web — livrée solo en ~8 semaines par un CTO/PO/RSSI hands-on
Lirix est une app sociale de tracking de lecture : pas de feed infini, pas de pub, pas de pistage. MAG&Cie a conçu, codé, sécurisé et déployé l'ensemble seul — monorepo TypeScript avec Expo pour mobile + web, Fastify + Prisma pour l'API, workers BullMQ pour les cron, tout en prod sur Fly.io, Vercel et Supabase.
Pourquoi Lirix est une démonstration end-to-end de ce qu'un CTO fractionnel peut livrer sans équipe.
Monorepo TypeScript unique pour mobile, web, API, workers et packages partagés. CI/CD complète GitHub Actions (lint, typecheck, tests, migrations, déploiements). EAS Build cloud, Fly.io pour l'API, Vercel pour le web, Supabase pour la base.
Modèle Free Solo + Premium (mensuel ou lifetime), gamification 2.0 (XP, niveaux, quêtes, badges, duels de lecture 30 jours), roadmap sprint-driven, UX affinée à travers 5 refus App Store consécutifs jusqu'à la mise en re-review du build 34.
Soft-delete instantané + purge automatique J+30, JWT + JWKS avec fallback HS256, OAuth PKCE, chiffrement des numéros par hash SHA-256 pour le matching contacts, CSP stricte, secrets uniquement en GitHub secrets et Fly secrets.
Lirix est une app sociale de tracking de lecture pour lecteurs francophones et anglophones : bibliothèque personnelle, recherche multi-catalogue (OpenLibrary + Google Books + BnF SRU), notes et avis, statistiques de régularité, feed d'amis, quêtes de gamification et duels de lecture. MAG&Cie a conçu, codé, sécurisé et déployé l'ensemble seul — monorepo TypeScript avec Expo pour mobile + web, Fastify + Prisma pour l'API, workers BullMQ pour les cron, tout en prod sur Fly.io, Vercel et Supabase. Distribution automatisée : chaque push déclenche lint, tests, migration DB, déploiement API + workers + web et OTA mobile via EAS Update. Démarré comme un projet perso, transformé en démonstration end-to-end de ce qu'un CTO fractionnel peut livrer sans équipe.
personne — conception, code, sécurité, distribution
semaines de dev intensif du concept aux stores
lignes de TypeScript sur l'ensemble du monorepo
plateformes simultanées (iOS, Android, Web) — une seule codebase
quêtes de gamification + système XP, niveaux, badges, duels
fournisseurs OAuth (Apple, Google, Microsoft/Entra, email…)
Chaque couche a été choisie pour tenir la promesse « une seule personne, trois plateformes, production dès j1 ».
| Mobile | Expo SDK 54, React Native 0.81, Hermes, Fabric (New Architecture), Expo Router 6 |
|---|---|
| Web | Même codebase Expo → export static SPA, déploiement Vercel |
| Styling | NativeWind (Tailwind sur React Native), dark mode déclaratif |
| État client | Zustand + TanStack Query + AsyncStorage persister |
| Backend | Fastify, Prisma, Zod, RFC 9457 problem+json, région Fly cdg |
| Base de données | Supabase Postgres (pooler transaction 6543) |
| Workers cron | BullMQ + Redis, node-cron : release scan, weekly digest, monthly recos, streak-at-risk, reading-duels tally |
| Auth | Supabase JWT + JWKS + fallback HS256, PKCE OAuth |
| CI/CD | GitHub Actions : lint + typecheck + tests + parity i18n + migration DB + déploiement prod |
| Distribution | EAS Build cloud, App Store Connect API auto-submit, Google Play internal track |
| Observabilité | Fly logs, Supabase logs, historique GitHub Actions runs |
Signup OAuth → provisionSelf backend → wizard username/langues/téléphone → import Goodreads CSV → premières recommandations personnalisées.
23 quêtes claim-based, XP par action, niveau visible sur amis, modale de level-up, duels de lecture 30 jours entre amis.
Hash SHA-256 des numéros côté client, match server-side sans jamais stocker en clair — sécurité et RGPD tenus dès le premier commit.
Fan-out parallèle OpenLibrary + Google Books + BnF SRU, cache Redis 15 minutes, filtre langue bidirectionnel ISO 639-1/639-3.
Soft-delete instantané + worker de purge J+30, export CSV de la bibliothèque, résurrection du compte si re-login sous 30 jours.
5 refus consécutifs sur Guideline 2.1a (Fabric + iPadOS 26.5) surmontés par correctifs itératifs documentés : Sign in with Apple custom button, splash resilience, sessions orphelines. Build 34 en re-review.
Free Solo + Premium 3,99 €/mois ou 49 € à vie, RevenueCat pour IAP iOS/Android, Stripe web, affiliation Fnac/Amazon avec charte anti-biais.
Extraits du parcours utilisateur — bibliothèque, recherche, notes et statistiques.




Traité comme un vrai produit SaaS dès la première ligne de code.
Quatre phases enchaînées, un seul intervenant, une architecture pensée pour tenir la promesse.
Positionnement clair (pas de feed infini, pas de pub, pas de pistage), modèle économique Free Solo + Premium, gamification 2.0 (XP, quêtes, duels), roadmap sprint-driven sur Notion.
Monorepo TypeScript unique pour mobile (Expo/RN New Arch), web (SPA depuis la même codebase), backend Fastify + Prisma + Supabase, workers cron BullMQ + Redis. Design system NativeWind, état Zustand + TanStack Query.
RGPD by design : soft-delete instantané + purge automatique J+30, hash SHA-256 des numéros pour le matching contacts, OAuth PKCE + JWT vérifié via JWKS, CSP stricte, secrets uniquement en GitHub secrets et Fly secrets.
EAS Build cloud + App Store Connect API auto-submit + Google Play internal track. GitHub Actions bout en bout (lint, typecheck, tests, migration DB, déploiement API + workers + web + OTA mobile via EAS Update). Observabilité via Fly logs, Supabase logs, historique Actions.
Traduction commerciale : si Lirix c'est ce qu'il fait pour lui-même sur son temps libre, imagine ce qu'il livre en mission.
Ce qu'on nous demande le plus souvent sur Lirix — et ce qu'on peut en dire.
Environ 8 semaines de développement intensif, du concept aux stores. Une seule personne : conception produit, code, sécurité, déploiement, distribution — un CTO fractionnel qui tient le rôle de Product Owner et de RSSI en même temps.
Monorepo TypeScript unique. Mobile : Expo SDK 54 + React Native 0.81 New Architecture. Web : même codebase Expo exportée en SPA statique et déployée sur Vercel. Backend : Fastify + Prisma + Zod, région Fly cdg. Base : Supabase Postgres (pooler transaction 6543). Workers : BullMQ + Redis. CI/CD : GitHub Actions. Distribution : EAS Build cloud.
RGPD by design dès le premier commit. Soft-delete instantané côté utilisateur + worker de purge automatique J+30 (droit à l'oubli exécutable). Numéros de téléphone hashés en SHA-256 côté client — jamais stockés en clair. OAuth PKCE + JWT vérifié via JWKS avec fallback HS256 signé. CSP stricte, HSTS, secrets uniquement en GitHub secrets et Fly secrets.
Trois plateformes simultanées — iOS, Android, Web — depuis une seule codebase TypeScript. iOS via l'App Store, Android via Google Play, Web sur lirix.club. Distribution automatisée : chaque push met à jour l'API, les workers, le web et pousse un OTA mobile via EAS Update.
Que MAG&Cie peut livrer en solo un produit complet — mobile + web + backend + infra + sécurité — sans monter d'équipe. Que le cabinet maîtrise toute la chaîne : produit, tech, sécurité, déploiement, distribution stores (5 refus App Store surmontés). Automatisation et RGPD pensés dès la conception.
Oui. Chaque mission est cadrée sur mesure. Que ce soit un CTO fractionnel, un accompagnement produit + tech + sécurité end-to-end ou un simple audit de faisabilité, le point de départ est un échange sur le périmètre et l'ambition. Contactez-nous via /contact ou prenez directement rendez-vous.
Vous cherchez un CTO fractionnel capable de livrer un produit complet, mobile + web + backend + infra + sécurité, sans monter une équipe ? Parlons-en.