Aller au contenu principal
Retour aux réalisations

Étude de cas — Réalisation

Lirix

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.

Triple casquette CTO / Product Owner / RSSI

Pourquoi Lirix est une démonstration end-to-end de ce qu'un CTO fractionnel peut livrer sans équipe.

CTO — architecte et tech lead solo

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.

Product Owner — pricing, gamification, UX

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.

RSSI — RGPD by design

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.

Le produit en un paragraphe

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.

Chiffres clés

1

personne — conception, code, sécurité, distribution

~8

semaines de dev intensif du concept aux stores

~40 000

lignes de TypeScript sur l'ensemble du monorepo

3

plateformes simultanées (iOS, Android, Web) — une seule codebase

23

quêtes de gamification + système XP, niveaux, badges, duels

6

fournisseurs OAuth (Apple, Google, Microsoft/Entra, email…)

Stack technique

Chaque couche a été choisie pour tenir la promesse « une seule personne, trois plateformes, production dès j1 ».

MobileExpo SDK 54, React Native 0.81, Hermes, Fabric (New Architecture), Expo Router 6
WebMême codebase Expo → export static SPA, déploiement Vercel
StylingNativeWind (Tailwind sur React Native), dark mode déclaratif
État clientZustand + TanStack Query + AsyncStorage persister
BackendFastify, Prisma, Zod, RFC 9457 problem+json, région Fly cdg
Base de donnéesSupabase Postgres (pooler transaction 6543)
Workers cronBullMQ + Redis, node-cron : release scan, weekly digest, monthly recos, streak-at-risk, reading-duels tally
AuthSupabase JWT + JWKS + fallback HS256, PKCE OAuth
CI/CDGitHub Actions : lint + typecheck + tests + parity i18n + migration DB + déploiement prod
DistributionEAS Build cloud, App Store Connect API auto-submit, Google Play internal track
ObservabilitéFly logs, Supabase logs, historique GitHub Actions runs

Réalisations concrètes

Onboarding social-first

Signup OAuth → provisionSelf backend → wizard username/langues/téléphone → import Goodreads CSV → premières recommandations personnalisées.

Gamification 2.0

23 quêtes claim-based, XP par action, niveau visible sur amis, modale de level-up, duels de lecture 30 jours entre amis.

Discovery contacts

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.

Multi-catalogue livres

Fan-out parallèle OpenLibrary + Google Books + BnF SRU, cache Redis 15 minutes, filtre langue bidirectionnel ISO 639-1/639-3.

RGPD

Soft-delete instantané + worker de purge J+30, export CSV de la bibliothèque, résurrection du compte si re-login sous 30 jours.

App Store journey

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.

Monétisation dès j1

Free Solo + Premium 3,99 €/mois ou 49 € à vie, RevenueCat pour IAP iOS/Android, Stripe web, affiliation Fnac/Amazon avec charte anti-biais.

Captures d'écran

Extraits du parcours utilisateur — bibliothèque, recherche, notes et statistiques.

Écran bibliothèque Lirix — Roulette, recommandations, listes, filtres et livres en cours de lecture
Ta bibliothèque, ton terrain de jeu — roulette, mood board, recos d'amis, étagères thématiques.
Écran recherche Lirix — résultats multi-catalogue avec fiche détaillée du livre The Hobbit
Trouve, ajoute, lis — recherche multi-catalogue, scan ISBN, import Goodreads en 30 secondes.
Écran fiche livre Lirix — statut, note sur 10 et zone d'avis pour The Dungeon Anarchist's Cookbook
Note, recommande, garde une trace — une fiche par livre, tes étoiles, tes mots, tes citations.
Écran statistiques Lirix — livres lus, pages lues, régularité et série en cours pour 2026
Une régularité qui te ressemble — streaks, pages cumulées, objectifs annuels, sans pression.

Sécurité & RGPD by design

Traité comme un vrai produit SaaS dès la première ligne de code.

  • Soft-delete instantané côté utilisateur + worker de purge automatique J+30 (droit à l'oubli exécutable)
  • Chiffrement des numéros de téléphone via hash SHA-256 côté client — jamais stockés en clair
  • OAuth PKCE + JWT vérifié par JWKS avec fallback HS256 signé
  • CSP stricte sur le web, headers de sécurité durcis (HSTS, X-Content-Type-Options, Referrer-Policy)
  • Secrets uniquement en GitHub secrets et Fly secrets — jamais dans le repo, jamais dans les logs
  • Export CSV complet de la bibliothèque utilisateur — portabilité des données garantie

La méthode — comment livrer une app cross-plateforme en 8 semaines

Quatre phases enchaînées, un seul intervenant, une architecture pensée pour tenir la promesse.

  1. 1

    Cadrage produit

    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.

  2. 2

    Architecture et build

    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.

  3. 3

    Sécurité et RGPD

    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.

  4. 4

    Distribution et CI/CD

    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.

Ce que Lirix démontre à un prospect

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.

  • Livrer en solo ce qu'une équipe de 4 mettrait 6 mois à faire
  • Maîtriser toute la chaîne : produit, tech, sécurité, déploiement, distribution stores
  • Comprendre les enjeux App Store et Google Play (5 refus surmontés)
  • Savoir automatiser de bout en bout (CI/CD, OTA, migrations DB, submit auto)
  • Penser sécurité et RGPD dès la conception (hash, JWT proper, CSP, purge automatique)
  • Brancher un service SaaS, une app mobile et un backend Prisma sur du prod le lendemain

Questions fréquentes

Ce qu'on nous demande le plus souvent sur Lirix — et ce qu'on peut en dire.

Combien de temps a-t-il fallu pour livrer Lirix ?

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.

Quelle stack technique a été utilisée ?

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.

Comment la sécurité et le RGPD ont-ils été traités ?

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.

Sur combien de plateformes Lirix est-il disponible ?

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 démontre Lirix à un futur client de MAG&Cie ?

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.

Peut-on avoir un accompagnement similaire chez MAG&Cie ?

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.

Un besoin similaire ?

Vous cherchez un CTO fractionnel capable de livrer un produit complet, mobile + web + backend + infra + sécurité, sans monter une équipe ? Parlons-en.