Subline — plateforme complète
Application de découverte mode : les catalogues de marques indépendantes réunis en une seule expérience d'achat.
Une plateforme entière, construite seul.
11
Composants, 5 couches
14
Services déployés
3
Interfaces : mobile, web, back-office
1
Base Postgres, 7 schémas
Le projet
Application de découverte mode pour femmes, conçue et développée de bout en bout : design system, application Flutter, vitrine web rendue côté serveur, back-office opérationnel et intégration Shopify. Onze composants, six services back-end, une base unique — un produit propre, porté de l'architecture à la production par une seule personne.
Décisions d'architecture
Trois décisions structurantes, prises avant la première ligne de code et tenues jusqu'à la mise en production.
- Un point d'entrée unique
- Les clients — application mobile et site web — n'adressent que la passerelle applicative et le fournisseur d'identité. Les cinq autres services back-end restent invisibles depuis le client : les faire évoluer, ou en ajouter, n'implique aucune publication sur les stores.
- Propriété des schémas plutôt que contrats inter-services
- Les six services back-end partagent une instance PostgreSQL, avec un propriétaire et un rôle de base dédiés par schéma, plutôt qu'un maillage d'API internes. À l'échelle d'un exploitant unique, une matrice de permissions se vérifie d'un coup d'œil ; un réseau de contrats entre services se maintient.
- Un moteur de recommandation conçu par phases
- Cinq architectures évaluées contre trois types de signal avant d'en retenir une : plus proches voisins sur embeddings, factorisation hybride, récupération à deux tours, transformeur séquentiel, hybride par phases. C'est la dernière qui l'emporte. La totalité des interactions est journalisée dès la mise en service, bien au-delà de ce que la première phase exploite, pour que les suivantes s'entraînent sans reprise de données.
Déroulé
Douze mois, du premier composant à la vitrine publique.
- 01
Socle client et passerelle
La passerelle applicative et l'application mobile ouvrent le projet à quinze jours d'écart. Le contrat entre client et serveur est fixé là, et n'a pas changé depuis.
- 02
Chaîne marchande
L'intégration Shopify arrive quatre mois plus tard. Cet ordre permet de dessiner le schéma du catalogue d'après ce que le flux doit afficher, et non d'après ce que l'API marchande émet. Elle alimente le catalogue par une API de synchronisation et ne partage aucun code avec le chemin client.
- 03
Enrichissement et recommandation
Étiquetage automatique et moteur de recommandation entrent en service au premier trimestre 2026. Le filtrage par catégorie s'appuie sur une taxonomie générée : les catégories renseignées par les marchands sont trop inégales d'une boutique à l'autre pour servir de critère.
- 04
Exploitation, puis vitrine publique
La console interne devient la surface d'exploitation — contrôle du catalogue, admission des marques, finances. La vitrine publique est livrée en dernier, son modèle de cache écrit comme contrainte avant la phase de design : non cachable par défaut, les routes s'y inscrivent explicitement, et les routes cachées n'exposent ni état de session ni fiche produit.
Exploitation et conformité
Le produit est instrumenté et soumis à une certification externe ; les deux ont pesé sur la conception.
- Observabilité
- Journalisation, alertes et triage automatique sur l'ensemble des services. Les temps de réponse de production sont mesurés par sondes dans les conteneurs plutôt que déduits des journaux applicatifs — c'est la seule façon d'attribuer une latence à la liaison entre un service et sa base plutôt qu'au code.
- Attribution des commandes
- L'attribution repose sur trois signaux indépendants plutôt qu'un seul : attribut de panier privé, paramètre de campagne porté par l'URL de paiement, et parcours client reconstitué par Shopify. Un signal suffit ; l'étiquette enregistrée conserve tout ce qui a concordé. Le mécanisme a été vérifié en conditions réelles sur trois boutiques.
- Conformité canal de vente
- Shopify classe Subline comme canal de vente, catégorie qui ajoute dix-huit exigences à la revue ordinaire : autorisations réduites au strict nécessaire et justifiées une à une, webhooks de confidentialité qui notifient effectivement le marchand, stock filtré au grain de la déclinaison, commission affichée à trois points du parcours marchand, déconnexion en autonomie.
1 · Clients acheteurs
22 · Backends
23 · Base partagée
14 · Services
55 · Console interne
1Cinq couches
Onze composants répartis sur cinq couches, du client acheteur à la console interne. Dépliez le schéma pour ouvrir chaque composant, ses dépendances et huit parcours suivis de bout en bout.
Onze composants, quatorze services
Douze dépôts, quatorze services déployés, un seul Postgres à sept schémas, quatre usages distincts de l'IA. Sélectionnez un composant pour ses dépendances, un parcours pour suivre un chemin de bout en bout, ou un fournisseur pour voir qui l'appelle.
La plateforme



Stack
Flutter (iOS et Android) · React Router en rendu côté serveur · Python / FastAPI · Node · PostgreSQL, sept schémas · Supabase Auth et Storage · Redis · Google Gemini pour l'étiquetage et la prospection · Shopify Storefront et Admin · Firebase Cloud Messaging · Resend · Sentry · Better Stack · PostHog · Railway.