Développement mobile et full-stack

Des logiciels que de vraies familles utilisent tous les jours.

Je conçois des applications mobiles qui fonctionnent hors ligne, des services auto-hébergés et les petits appareils qui les entourent : un écran mural dans la cuisine, des modifications pour liseuse, une application de coordination des soins. Tout ce qui est ici sert chaque jour à de vraies personnes.

Disponible pour un poste à temps plein en télétravail

123 287 → 1 342erreurs EPUBCheck après la réparation par epubkit
25modules pour écran intelligent, un seul assistant de configuration
3 écranstéléphone, liseuse et écran mural de cuisine
FR · ENapplications bilingues, conçues au Québec
Code source ouvert

Projets choisis

Du code public, de vrais utilisateurs. Chaque projet est né d’un problème dans notre propre maison.

Python · CLI

epubkit

On lui donne un dossier de livres téléchargés et on récupère une bibliothèque que la Kobo ouvre sans broncher : convertie, métadonnées complétées, noms de fichiers normalisés, structure réparée, validée avec EPUBCheck et, au besoin, avec des résumés sans divulgâcheurs intégrés à chaque livre.

Éprouvé sur une vraie bibliothèque de 373 livres. Chaque règle de réparation est née d’un bris.

PythonlxmlEPUBCheckPyMuPDFLLM locaux

RecapMod

Une modification pour Kobo qui ajoute un bouton Résumé : quand vous avez lu pour la dernière fois, ce qui s’est passé et qui vous avez rencontré. Jamais au-delà de la page courante, entièrement hors ligne.

C++QtNickelHook

Modules Home Screens

Vingt-cinq modules pour un écran intelligent à code source ouvert, et un assistant qui les configure tous pour votre famille en une seule étape. Les versions sont produites par l’intégration continue.

ReactTypeScriptViteVitest

Ajouts pour Grimmory

Une liste de souhaits partagée et un bouton « Configurer ma Kobo » pour une bibliothèque auto-hébergée, ajoutés sans toucher au code ni à la base de données de l’application.

PythonSQLiteWeb Pushnginx
Utilisé tous les jours

Le mur de la cuisine

De vrais écrans de notre affichage mural, avec les modules Home Screens. Les noms ont été remplacés.

Écran d’accueil de l’affichage mural avec l’heure, la météo, les collectes, les soupers, la semaine de la famille et un score de hockey
Accueil : la journée d’un coup d’œil, des collectes aux soupers jusqu’à la semaine.
Écran de planification avec un calendrier mensuel des jours d’école, des minuteries, les repas congelés et le menu de la semaine
Planification : jours du cycle scolaire, minuteries, congélateur et repas de la semaine.
Écran d’un enfant : qui s’occupe du coucher, la journée d’école, la routine du matin avec des étoiles à gagner et des comptes à rebours
Écran d’enfant : le coucher, la journée d’école et des tâches qui rapportent des étoiles.
Travail privé

Études de cas

Réalisés pour un client, un employeur ou ma propre famille. Présentation du code sur demande.

Une application de communication et de coordination des soins pour les adultes autistes non verbaux et les nombreuses personnes qui les accompagnent. La personne aidée touche des pictogrammes ou une carte du corps sur une tablette; parents, infirmières et éducateurs reçoivent l’information en temps réel sur leur téléphone.

  • Multilocataire par foyer : une même personne aidante peut faire partie de plusieurs équipes de soins, avec un rôle et des permissions propres à chacune.
  • Signaux en temps réel par WebSocket, avec un cycle en attente, pris en charge puis résolu, en plus des médicaments, limites d’apport, signes vitaux et équipements.
  • Bilingue français et anglais, conçue pour la Loi 25, avec les champs sensibles chiffrés au repos et de l’intégration continue sur les deux applications.
Lire l’étude de cas →

Une application pour les clients d’un entrepreneur électricien, qui leur permet de surveiller leur génératrice résidentielle et de la démarrer ou l’arrêter de n’importe où, avec le micrologiciel du petit boîtier branché sur la génératrice.

  • Le micrologiciel ESP32 lit l’état de marche et les défauts sur le faisceau du contrôleur de la génératrice, et parle à Firestore en simple REST.
  • Une commande n’est réussie que lorsque les capteurs confirment que le moteur tourne, pas quand un relais claque.
  • Fonctionne avec le forfait gratuit de Firebase : un balayage planifié remplace les Cloud Functions pour les alertes, la détection hors ligne et les notifications. Les règles de sécurité sont couvertes par plus de 60 tests.
Lire l’étude de cas →

Une application de terrain en production, pensée hors ligne d’abord. Les équipes remplissent formulaires et rapports sans réseau, et tout se synchronise au retour de la connexion.

  • Architecture propre par module, avec injection de dépendances et types d’identifiants distincts.
  • Données locales dans WatermelonDB sur SQLite, avec un service de synchronisation qui rattrape le retard dès que l’appareil se reconnecte.
  • Tests de bout en bout Detox, surveillance Sentry et Datadog, français et anglais.
Lire l’étude de cas →

Notre propre application de tâches à la Todoist : des listes partagées sur les téléphones, les portables et l’écran mural de la cuisine, hébergées sur un serveur à la maison.

  • API Kotlin et Ktor sur PostgreSQL, avec une application Web React et TypeScript.
  • Alimente l’écran mural grâce à ses propres modules pour les tâches, le menu et les médicaments, chaque écran ayant sa propre clé.
  • Construit en petites étapes pilotées par les tests : chaque étape arrive avec son test comme spécification, et un modèle d’IA local code l’écran pour le faire passer.
Lire l’étude de cas →
Ce que j’apporte

Compétences

Mobile

Des applications React Native et Expo pensées hors ligne d’abord : bases de données locales, synchronisation, notifications, publication sur iOS et Android.

React NativeExpoWatermelonDBDetox

Full-stack et Web

Des API et des applications Web de bout en bout, du schéma de base de données et de l’authentification jusqu’à l’écran, testées à chaque couche.

TypeScriptReactKotlin · KtorRailsPostgreSQLFirebase

Systèmes et appareils

Ce que la plupart des devs évitent : micrologiciel embarqué, modifications de liseuse, auto-hébergement, Docker et pipelines d’intégration continue.

PythonC++ · QtESP32DockerGitHub Actions
Hors ligne d’abordLes applications fonctionnent sans réseau et se rattrapent ensuite.
Bilingue d’officeFrançais et anglais dès le premier écran.
Vie privée intégréeLe minimum de données, chiffrées là où ça compte, conforme à l’esprit de la Loi 25.
Les tests comme spécificationLe comportement est défini avant d’être codé.

Un projet que des gens utiliseront tous les jours?

Je présenterai volontiers n’importe lequel de ces projets plus en détail, y compris les projets privés.