Product engineer / IA, mobile, web

De l'idée à la production.

Produits IA, mobiles et web, de l'architecture au lancement.

Composition abstraite en acrylique bleu cobalt et vert acide sur fond noir
Construire, mesurer, recommencer.

10+ ansà construire des produits

1 appfondée, lancée, vendue

500kutilisateurs actifs quotidiens au plus haut sur Omada

Relier l'idée
à l'usage.

La méthode couvre l'architecture, l'interface, les données et les opérations. Chaque décision doit servir un produit utilisable et mesurable.

Travaux sélectionnés

Des projets indépendants et des produits construits chez Luni, de l'architecture à l'usage.

01 / produit indépendantApp vendue

Plant Calendar

Une app iOS, de l'idée à la vente.

J'ai fondé et développé une application de soin des plantes, puis l'ai vendue à une entreprise française d'apps B2C. Du moteur d'arrosage au paywall, j'ai pris en charge le produit et sa réalisation.

  • Figma
  • SwiftUI
  • GraphQL
  • MongoDB
5langues au lancement

Concevoir. Lancer. Vendre.

Mon rôle et les choix techniques

Le produit

Un moteur d'arrosage qui tient compte du pot, de la lumière, du drainage, des saisons, de la localisation et de la pluie. L'app comprend l'identification de plantes, un onboarding adaptatif et des notifications contextuelles.

La réalisation

Application native SwiftUI avec Core Data et Apollo GraphQL. Backend GraphQL et MongoDB Atlas, déployé sur Docker Swarm avec Ansible, Traefik et TLS automatisé. J'ai aussi construit le paywall et accompagné le produit jusqu'à sa cession.

Construit chez LuniJeu social

Omada

À 7 h, les paris ouvrent.

Un jeu de pronostics sportifs entre amis, sans mise d'argent réel. Chez Luni, j'ai piloté le développement backend dès la genèse d'Omada Game, devenu Omada, et développé ses backoffices.

  • TypeScript
  • Adonis
  • Vue.js
  • MySQL
500kutilisateurs actifs quotidiens au plus haut

Un pic quotidien à l'ouverture des paris

Mon rôle et les choix techniques

Absorber les écritures du matin

Chaque matin à 7 h, l'ouverture des paris entraînait une forte affluence. L'infrastructure devait supporter la consultation des matchs et les écritures liées aux prises de paris. Le produit a atteint jusqu'à 500 000 utilisateurs actifs quotidiens.

Du backend aux outils métier

Je prenais les décisions techniques et développais le backend en TypeScript avec Adonis et MySQL, ainsi que les backoffices en Vue.js. Omada Game a repris le nom Omada après l'arrêt de l'application de conseils PronoFC, elle-même renommée Omada auparavant.

02 / construit chez LuniIA appliquée

Fate

Garder une histoire cohérente sur plusieurs chapitres.

J'ai construit le moteur de narration IA de Fate : orchestration de plusieurs modèles, génération structurée et suivi de l'état du récit.

  • Multi-LLM
  • Contexte long
  • État persistant
Contexte
persistant.
personnages, lieux et chapitres restent suivis
Mon rôle et les choix techniques

Orchestrer le récit

J'ai conçu le workflow : style d'auteur, synopsis, personnages, lieux, plan des chapitres, génération des pages et mises à jour structurées. Le moteur orchestre notamment Claude, GPT-4, Mistral, Llama et DeepSeek.

Comprendre les échecs

Pour isoler les répétitions, oublis et détails inventés, j'ai reproduit les erreurs avec les mêmes paramètres, puis fait varier le contexte, la température, le modèle et les prompts système.

03 / construit chez LuniVidéo et passage à l'échelle

Shorts

Construire une plateforme de streaming à grande échelle.

J'ai construit et fait évoluer une plateforme de streaming de séries courtes : backend, traitement vidéo, recommandations et analytics. J'ai continué à optimiser les coûts et les performances en production.

  • Node.js
  • Vue 3
  • QuestDB
  • AWS / HLS
~50kutilisateurs actifs quotidiens

Près de 50 % de bande passante en moins

Mon rôle et les choix techniques

Livrer puis industrialiser

Première API de contenu livrée en une journée pour un catalogue de 20 séries et 1 200 épisodes. J'ai ensuite industrialisé le pipeline vidéo avec S3, AWS MediaConvert, encodage multi-résolution et HLS.

Mesurer et faire évoluer

J'ai comparé plusieurs bases de séries temporelles avant de retenir QuestDB. Le premier système de recommandation combinait événements de visionnage, tendances et règles métier, puis a évolué vers Recombee.

04 / projet personnelMessagerie chiffrée

Cove

Le serveur ne voit jamais le texte en clair.

J'ai construit une messagerie d'entreprise chiffrée de bout en bout, avec un coeur Rust/WASM et une interface React. Le chiffrement structure aussi la recherche, les pièces jointes et les notifications.

  • MLS / OpenMLS
  • Rust / WASM
  • React
  • Tauri
10kabonnés simultanés dans 10 000 groupes

Test de charge en mémoire

Client→Texte chiffré→Client
Mon rôle et les choix techniques

Un coeur partagé

Implémentation autour de MLS (RFC 9420) et OpenMLS : commits ordonnés, convergence des époques et protection contre le rejeu. Le coeur Rust est exposé aux clients via WASM et des interfaces FFI stables.

Une messagerie complète

Service de livraison avec ordre total et boîte aux lettres, OIDC et SCIM, stockage chiffré des fichiers, recherche plein texte côté client et notifications compatibles avec le chiffrement. Le chiffre décrit un test en mémoire, pas une audience en production.

Dès la genèse, chez Luni.

Applications grand public et outils internes : les choix techniques, le backend et les interfaces nécessaires pour faire vivre les produits.

La suite Coach

Quatre apps. Un backoffice pour chacune.

Fitness Coach, Running Coach, Yoga Coach et Meditation Nest : j'ai pris les décisions techniques dès leur genèse chez Luni. Lead développeur backend, j'ai aussi construit les interfaces de gestion de contenu propres à chaque projet.

  • Laravel
  • Vue.js
  • MySQL
  • FFmpeg
  • AWS Elastic Transcoder

Fitness Coach

Des programmes de fitness adaptés aux objectifs et au niveau, avec un suivi de progression.

Fitness Coach, visuel de la fiche App StoreApp Store ↗

Running Coach

Course et marche, suivi GPS des parcours et statistiques d'activité.

Running Coach, visuel de la fiche App StoreApp Store ↗

Yoga Coach

Des séances vidéo guidées, adaptées au niveau, au temps disponible et aux objectifs.

Yoga Coach, visuel de la fiche App StoreApp Store ↗

Meditation Nest

Des contenus audio de méditation et des histoires pour accompagner le sommeil.

Meditation Nest, visuel de la fiche App StoreApp Store ↗
Mon rôle et les choix techniques

Des outils adaptés aux équipes

Dans le contexte du sport à domicile pendant le Covid, chaque app avait ses propres besoins de contenu. Les backoffices permettaient aux équipes de le saisir et de l'organiser, avec un niveau de détail adapté aux besoins métiers.

Le contenu et les médias

Laravel et MySQL pour le backend, Vue.js pour les interfaces, FFmpeg et AWS Elastic Transcoder pour le traitement des médias. Chaque projet disposait de son propre backoffice.

TinyBoard

  • Laravel
  • Vue.js
  • MySQL
  • App Store
  • Search Ads

Les données derrière les décisions marketing.

J'ai développé l'outil de toute l'équipe marketing de Luni, des systèmes de collecte à l'interface. TinyBoard réunissait revenus, dépenses publicitaires et analyse des concurrents sur l'App Store.

Mon rôle et les choix techniques

Réunir les revenus et les dépenses

Les revenus provenaient des rapports Apple, puis aussi des APIs Google. Les dépenses de Meta Ads, Google Ads, TikTok Ads, Snapchat Ads, Search Ads et d'autres plateformes étaient unifiées par app, pays et jour, avec une exploration de la campagne jusqu'à la créative.

Explorer les mots-clés et les concurrents

Le crawl partait des suggestions de recherche de l'App Store, puis récupérait les sept premières apps de chaque mot-clé. On pouvait explorer les mots-clés d'un concurrent ou ajouter des concurrents depuis un mot-clé. Le suivi de Search Ads complétait cet outil, commencé en 2018, quand ce canal occupait une place majeure dans le business.

StepUp

  • TypeScript
  • Amazon Timestream

Une course alimentée par vos pas.

Une course entre amis où les pas suivis par le téléphone font avancer les joueurs. Chaque tour correspondait à 5 000 pas : ceux qui allaient le plus loin gagnaient. Des bonus et des malus permettaient de prendre l'avantage ou de ralentir les adversaires.

Mon rôle et les choix techniques

Les choix techniques dès le départ

Présent dès la genèse de StepUp chez Luni, j'en prenais les décisions techniques. Le développement reposait sur TypeScript et mon propre framework backend, avec Amazon Timestream pour conserver l'historique des pas.

Magic Avatars

  • TypeScript
  • Stable Diffusion
  • DreamBooth

Des selfies aux avatars générés par IA.

Lead développeur backend dès la genèse du projet chez Luni, j'ai développé le backend de cette app de génération de portraits en TypeScript, avec mon propre framework.

Mon rôle et les choix techniques

Choisir ce que l’on maintient

La génération reposait initialement sur Stable Diffusion et DreamBooth. Nous avons ensuite choisi un service SaaS pour éviter la maintenance de cette infrastructure de génération.

PronoFC / Omada

  • React Native

Des analyses pour préparer ses paris.

J'ai développé toute l'application React Native chez Luni et pris les décisions techniques dès sa genèse. Chaque jour, elle proposait quatre ou cinq matchs, avec une analyse et une estimation du gagnant.

Mon rôle et les choix techniques

Deux produits, une histoire de nom

PronoFC a d'abord été renommée Omada. Nous avons ensuite créé un produit distinct, Omada Game. Après l'arrêt de l'application de conseils, le jeu a repris le nom Omada.

Parcours

Une approche qui couvre
tout le produit.

Architecture, backend, interfaces, analytics et opérations : les décisions techniques restent liées aux usages réels.

Basé à Bordeaux, je travaille sur des produits IA, des applications mobiles et des services web. J'ai aussi fondé Sensitive, une activité indépendante de développement produit.

  1. Depuis 2018

    Luni

    Founding Engineer. Produits grand public, IA, streaming, temps réel et applications bien-être.

  2. Depuis 2024

    Sensitive

    Fondateur et Product Engineer. Cadrage, conception, lancement et évolution de produits web et mobiles.

  3. 2015-2017

    Green Panda Games

    Lead Web Developer. Jeux, services grand public et outils d'analyse de données mobiles.

La suite

Parlons du produit
que vous construisez.

dayotedwin@gmail.com

Bordeaux, à distance, français et anglais.