Aller au contenu principal
Tmonier
· You Keep The Helm.

Damien Meur

Ingénieur logiciel senior

Full stack · TypeScript · React · Node.js · IA

Je construis des produits web en TypeScript, de la base de données à l’interface React, et depuis peu les fonctionnalités LLM qu’ils embarquent. Freelance, basé à Bruxelles.

Damien Meur
tmonier /ti.mɔ.nje/

Le timonier : celui qui lit le vent, tient le cap et garde le navire sur sa route.

Expertise

Ce sur quoi je travaille

Surtout du TypeScript, en général sur toute la stack. Les missions longues me conviennent bien.

Le produit, de bout en bout

Des écrans React et Next.js, l’API derrière, le schéma en dessous. L’UI compte autant pour moi que le backend.

Backend et données

Services, transactions, jobs en arrière-plan, messaging event-driven, ETL. Je passe beaucoup de temps sur les chemins d’erreur : timeouts, annulation, et des erreurs visibles dans les types au lieu de les découvrir dans les logs une semaine plus tard.

Fonctionnalités IA

Des fonctionnalités LLM sur de vraies données métier avec l’OpenAI SDK, les structured outputs et le tool calling. Le modèle, c’est la partie facile. Les schémas et les permissions prennent l’essentiel du travail.

Travailler avec des agents de code

J’utilise AMP, Claude Code et Codex tous les jours pour lire du code que je ne connais pas et déléguer des changements bien cadrés. C’est toujours une review humaine qui décide de ce qui est mergé.

C’est en partie pour ça que j’ai créé Argot.

Expérience

Parcours

2026

Tmonier SRL

Fondateur
Mai 2026 – Aujourd’hui

Fondateur · Ingénieur logiciel senior freelance · Bruxelles

Ma société. Je rejoins des équipes produit en tant que freelance, sur du TypeScript full stack, de l’architecture et des fonctionnalités IA.

SaaS RH (US)

Mai 2026 – Nov. 2026

Senior Software Engineer

Plateforme de données multi-tenant · client sous NDA

  • Latence des vues de données les plus lourdes réduite de 50 à 70 % : lecture des plans SQL, requêtes N+1 et corrélées remplacées par des requêtes ensemblistes, et deux fois moins de travail au démarrage du backend
  • Restructuration d’un monorepo TypeScript d’environ 150k lignes en couches contrôlées, puis ajout d’un système de plugins et d’une file de jobs sur Postgres pour faire tourner l’app en instances stateless
  • Un harnais de tests d’intégration full stack (vraie UI, HTTP, backend et Postgres, sans mocks) et des checks CI qui échouent sur les tests qui ne prouvent rien
  • Travail sur l’autorisation par capabilities avec des accès limités dans le temps et dans leur périmètre, plus du tracing des requêtes lentes et une vérification de démarrage en prod avant chaque release
  • Prototype d’un assistant analytique LLM où le modèle renvoie des requêtes typées et n’écrit jamais les chiffres lui-même
TypeScriptEffectReactPostgreSQLGraphQLOpenAI SDKWorker threads
2022
Avr. 2022 – Avr. 2026

Aware

Salarié
Bruxelles

Senior Full Stack Developer

Une plateforme où des entreprises agroalimentaires et des chaînes de supermarchés de 4 pays européens partagent et traitent leurs données opérationnelles.

  • Conception du framework ETL derrière 300+ pipelines bronze/silver/gold, avec injection de dépendances, contrôles qualité et monitoring
  • DuckDB embarqué dans le backend analytique, rafraîchissement et monitoring compris. Certains traitements sont devenus jusqu’à 100× plus rapides
  • Responsable des dépendances et de la sécurité : montées de version majeures, migration CJS vers ESM, corrections de CVE, plus l’infra Azure, la CI/CD et les déploiements Databricks
  • Mentorat de développeurs, et aide à l’équipe pour s’accorder sur des pratiques communes autour de la qualité et de l’ownership
TypeScript Effect React Next.js Fastify Python DuckDB Azure Databricks
2020
Oct. 2020 – Avr. 2022

Proxyclick

Salarié
Bruxelles

Full Stack Developer

SaaS de gestion des visiteurs pour grandes entreprises, utilisé dans 100+ pays.

  • Refonte de la facturation et du self-service : abonnements, paiements, gestion de compte
  • Conception d’un moteur d’automatisation basé sur des événements (un peu comme IFTTT) pour les parcours visiteurs
  • Travail dans une architecture microservices sur Apache Pulsar, et migration du frontend hors d’AngularJS
TypeScript Angular Node.js PostgreSQL Apache Pulsar

Avant

  • 2020

    Emisys · Full Stack Developer · Louvain-la-Neuve

    Billetterie, paiements et remboursements pour un logiciel de festivals utilisé par des milliers de personnes en même temps.

    PHPJavaScriptPostgreSQL
    • Fonctionnalités de billetterie et de planning
    • Paiements et remboursements : traitement des transactions, annulations et réconciliation financière pour les festivals
    • Une plateforme qui tient la charge de milliers d’utilisateurs simultanés pendant les festivals
  • 2019 – 2020

    mPhase · Full Stack Developer · Montréal

    Seul développeur d’un outil logistique pour le traitement de l’eau, dont un petit langage pour construire des formulaires.

    Vue.jsNode.jsExpressMongoDB
    • Toute l’application construite de zéro en tant que seul développeur, du modèle de données à l’interface
    • Conception du routage et du planning géolocalisés
    • Un DSL de formulaires piloté par schéma pour que les techniciens de terrain créent leurs formulaires d’inspection sans toucher au code
  • 2018 – 2019

    Extia · Full Stack Developer · Consultant · Bruxelles

    Monitoring IPTV et média, et un système de collecte de métriques avec facturation.

    KotlinSpring BootAngularPHPSymfonyPostgreSQLInfluxDB
    • Mission chez Taktik (IPTV) : dashboards de monitoring et alerting, le backend média à fort débit, et de la visualisation de données en temps réel
    • Mission chez Bewan (CRM hôtellerie) : modules CRM et événements, et Diserv construit de zéro, une plateforme de métriques sur InfluxDB avec un moteur de facturation flexible (forfait, dépassement, à la métrique)
  • 2018

    IoTFactory · Stagiaire · Bruxelles

    Des passerelles Bluetooth/LoRa qui continuaient de fonctionner hors ligne et se resynchronisaient au retour de la connexion.

    PythonRaspberry PiBluetoothLoRaKubernetesLinux
    • Passerelles local-first sur Raspberry Pi : données gardées sur l’appareil et réconciliées avec le backend au retour de la connexion
    • Géolocalisation indoor et geofencing par triangulation de balises Bluetooth là où le GPS ne passe pas
    • Dashboard de gestion des appareils, outils de monitoring et portail captif pour l’onboarding WiFi sur site

Bachelier en Informatique

option Intelligence Artificielle
Institut Paul Lambin, Bruxelles
2015 – 2018 · Cum Laude
Français
Anglais
Néerlandais

Références et exemples de travaux disponibles sur demande.

Open source

Projets perso

Argot est le projet auquel je consacre le plus de temps libre. Les autres sont des expériences pour tester une idée.

Code review · Analyse statique

argot

/aʁ.ɡo/

le vocabulaire propre à un métier

Lintez les règles que personne n’a écrites.

Un reviewer de code qui apprend comment votre dépôt est écrit à partir de son historique Git, puis signale ce qui détonne dans un diff. Pas de LLM : des statistiques et la structure du code, dans un seul binaire Rust hors ligne.

  • 50+ étoiles GitHub
  • 97,3 % code étranger détecté (620/637)
  • 0,25 % fausses alertes sur des modifs normales
  • 12 langages
Rust Tree-sitter Git internals ML statistique MCP
Effect · Runtime React

effract

/e.fʁak/

effraction : entrée par la force

Des composants React, écrits comme des programmes Effect.

Une expérience : et si les composants React étaient des programmes Effect ?

Les services, les erreurs typées et les ressources vivent dans le composant, et le même composant peut tourner dans le navigateur, sur le serveur, dans un Web Worker ou en Server Component.

TypeScript Effect React RSC Vite

Autres expériences

Supervision d’agents · En pause

vigie

/vi.ʒi/

Un outil pour garder un œil sur des agents de code qui tournent longtemps : télémétrie, détection de boucles et de dérive, limites de coût, intervention.

Les outils d’agents ont évolué si vite que j’ai arrêté de travailler dessus.

World models · Jeu

spot the glitch

/spɒt ðə ɡlɪtʃ/

Un jeu dans le navigateur : trouvez la vidéo qui enfreint la physique, puis voyez comment s’en sort un world model de type JEPA (LeWM).

Il fait 10/10.

Stack & Craft

Comment je construis

Quelques habitudes, la plupart prises sur des codebases que j’ai dû maintenir ensuite.

zsh · ~/stack
cat stack.yml --top
8 ans d’expérience
TypeScript/JS
8 ans
Node.js
8 ans
React
6 ans
PostgreSQL
6 ans
Effect-TS
4 ans
Next.js
4 ans
Python
5 ans
Azure
4 ans

# +31 autres, une fenêtre par catégorie en dessous

TypeScript/JS
8 ans
Python
5 ans
PHP
3 ans
Kotlin
1 ans
PostgreSQL
6 ans
SQL Server
4 ans
MongoDB
1 ans
Delta Lake
1 ans
PySpark
1 ans
DuckDB
1 ans
Elasticsearch
1 ans
Node.js
8 ans
Effect-TS
4 ans
Hono
1 ans
Fastify
4 ans
Express
6 ans
Symfony
3 ans
Apache Pulsar
2 ans
Bun
1 ans
React
6 ans
Next.js
4 ans
Angular
3 ans
Vue
2 ans
Tailwind
4 ans
Azure
4 ans
Databricks
1 ans
Cloudflare
2 ans
GitHub Actions
4 ans
CI/CD
8 ans
Kubernetes
2 ans
Git
8 ans
Docker
6 ans
Claude Code
1 ans
Codex
1 ans
scikit-learn
1 ans
NumPy
2 ans
TensorFlow
1 ans
Tree-sitter
1 ans
Hugging Face
1 ans

Les frontières dans les types

Le code métier n’importe ni framework ni base de données. Avec Effect, les erreurs et les dépendances sont dans les signatures, donc un refactoring dit ce qu’il a cassé.

Hexagonal DDD Effect

Des tests qui figent le comportement

Du TDD quand je ne connais pas encore la forme, du golden-master SQL quand les chiffres ne doivent pas bouger. Maintenant que des agents écrivent une partie du code, les invariants et le property-based testing comptent plus pour moi que le test-first.

TDD Golden master Property-based

Les upgrades font partie du travail

Montées de version, corrections de CVE et migrations comme CJS vers ESM passent dans le flux normal du travail. Repoussées, elles deviennent un projet que personne n’a envie de lancer.

CVE Upgrades Observabilité

Le vocabulaire du métier

J’apprends tôt les mots du métier et je nomme le code avec, pour qu’un ticket et un module parlent de la même chose. Ensuite, des petites PR, et du pairing quand une review prendrait plus de temps.

DDD Code review Pairing

À propos

Derrière le clavier

Le timonier, mascotte de Tmonier
Software Craft SoCraTes Belgium Machine Learning Jeux de société Bidouilleur curieux

Moi, c'est Damien. Je suis un bricoleur curieux depuis l'époque où je démontais tout ce qui avait un circuit imprimé à la maison (pardon, Maman). J'ai 31 ans, je suis marié à l'extraordinaire Clara, qui supporte mes soirées de code, et papa de Basile, qui me bat déjà aux jeux de société.

Côté boulot, je tiens au craft. Je fais partie de la communauté SoCraTes Belgium, où j'apprends surtout en discutant avec d'autres devs. Je fais du TDD quand ça m'aide à réfléchir, et je refactore un peu chaque fois que je touche un fichier.

L'IA dans le développement me fascine, mais quand des agents écrivent l'essentiel du code, il finit par ne plus ressembler à celui de l'équipe, sans que personne ne s'en rende vraiment compte. C'est pour ça que j'ai créé Argot : il apprend comment un projet est écrit à partir de son historique et signale ce qui détonne. Quand je ne code pas, je suis sûrement en train de perdre à Terraforming Mars ou de tester la dernière techno qui m'a tapé dans l'œil.

Contact

Parlez-moi de votre projet

Missions courtes ou longues. Écrivez-moi par e-mail, je réponds en général dans la journée.

Ouvert aux missions freelance · Remote ou Bruxelles