Skip to main content
Tmonier
· You Keep The Helm.

Damien Meur

Senior Software Engineer

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

I build web products in TypeScript, database to React UI, and lately the LLM features inside them. Freelance, based in Brussels.

Damien Meur
tmonier /ti.mɔ.nje/

The helmsman: the one who reads the wind, holds the course, and keeps the ship on track.

Focus

What I work on

Mostly TypeScript, usually across the whole stack. Long engagements are welcome.

Product, end to end

React and Next.js screens, the API behind them, the schema underneath. I care about the UI as much as the backend.

Backend and data

Services, transactions, background jobs, event-driven messaging, ETL. A lot of my time goes into the failure paths: timeouts, cancellation, and errors you can see in the types instead of finding them in the logs a week later.

AI features

LLM features on real business data with the OpenAI SDK, structured outputs and tool calls. The model is the easy part. Schemas and permissions take most of the work.

Working with coding agents

I use AMP, Claude Code and Codex every day to read unfamiliar code and hand off well-scoped changes. A human review still decides what gets merged.

That's partly why I built Argot.

Experience

Track record

2026

Tmonier SRL

Founder
May 2026 – Present

Founder · Senior Freelance Software Engineer · Brussels

My company. I join product teams as a contractor, on full-stack TypeScript work, architecture and AI features.

US HR-tech SaaS

May 2026 – Nov 2026

Senior Software Engineer

Multi-tenant data platform · client under NDA

  • Cut latency on the heaviest data views by 50–70%: read the SQL plans, replaced N+1 and correlated queries with set-based ones, and halved the work done at backend boot
  • Restructured a ~150k-line TypeScript monorepo into enforced layers, then added a plugin system and a Postgres-backed job queue so the app runs as stateless instances
  • Built a full-stack integration test harness (real UI, HTTP, backend and Postgres, no mocks) and CI checks that fail on tests that prove nothing
  • Worked on capability-based authorization with time-bound, scoped access, plus slow-request tracing and a production boot check before every release
  • Prototyped an LLM analytics assistant where the model returns typed query specs and never writes the numbers itself
TypeScriptEffectReactPostgreSQLGraphQLOpenAI SDKWorker threads
2022
Apr 2022 – Apr 2026

Aware

Employee
Brussels

Senior Full Stack Developer

A platform where food companies and supermarket chains in 4 European countries share and process their operational data.

  • Designed the ETL framework behind 300+ bronze/silver/gold pipelines, with dependency injection, data-quality checks and monitoring
  • Embedded DuckDB in the analytics backend, including refresh and monitoring. Some workloads got up to 100× faster
  • Looked after dependencies and security: major upgrades, the CJS to ESM migration, CVE fixes, plus Azure, CI/CD and Databricks deployments
  • Mentored developers and helped the team agree on shared practices around code quality and ownership
TypeScript Effect React Next.js Fastify Python DuckDB Azure Databricks
2020
Oct 2020 – Apr 2022

Proxyclick

Employee
Brussels

Full Stack Developer

Visitor-management SaaS for large companies, used in 100+ countries.

  • Rebuilt billing and self-service: subscriptions, payments, account management
  • Designed an event-based automation engine (think IFTTT) for visitor workflows
  • Worked in an Apache Pulsar microservices setup and helped move the frontend off AngularJS
TypeScript Angular Node.js PostgreSQL Apache Pulsar

Earlier

  • 2020

    Emisys · Full Stack Developer · Louvain-la-Neuve

    Ticketing, payments and refunds for festival software used by thousands of people at once.

    PHPJavaScriptPostgreSQL
    • Ticketing and scheduling features
    • Payment and refund flows: transaction processing, cancellations and financial reconciliation for festival operations
    • Kept the platform running for thousands of concurrent users during live festivals
  • 2019 – 2020

    mPhase · Full Stack Developer · Montréal

    Only developer on a logistics tool for water treatment, including a small language for building forms.

    Vue.jsNode.jsExpressMongoDB
    • Built the whole application from scratch as the only developer, from data model to UI
    • Designed geolocation-based routing and scheduling
    • Designed a schema-driven form DSL so field technicians could build their own inspection forms without touching code
  • 2018 – 2019

    Extia · Full Stack Developer · Consultant · Brussels

    IPTV and media monitoring, and a system for collecting metrics and billing on them.

    KotlinSpring BootAngularPHPSymfonyPostgreSQLInfluxDB
    • Mission at Taktik (IPTV): monitoring dashboards and alerting, the high-throughput media backend, and real-time data visualisation
    • Mission at Bewan (hospitality CRM): CRM and event modules, and Diserv built from scratch, a metrics platform on InfluxDB with a flexible billing engine (flat rate, overage, per-metric)
  • 2018

    IoTFactory · Intern · Brussels

    Bluetooth/LoRa gateways that kept working offline and synced back when the connection returned.

    PythonRaspberry PiBluetoothLoRaKubernetesLinux
    • Local-first gateways on Raspberry Pi: data kept on-device and reconciled with the backend when the connection came back
    • Indoor geolocation and geofencing by triangulating Bluetooth beacons where GPS doesn't reach
    • Device-management dashboard, monitoring tools and a captive portal for WiFi onboarding on site

Bachelor in Computer Science

AI specialisation
Institut Paul Lambin, Brussels
2015 – 2018 · Cum Laude
French
English
Dutch

References and work samples available on request.

Open source

Side projects

Argot is where most of my spare time goes. The others are experiments I built to try out an idea.

Code review · Static analysis

argot

/aʁ.ɡo/

the private vocabulary of a trade

Lint the rules you never wrote down.

A code reviewer that learns how your repository is written from its Git history, then flags what doesn’t fit in a diff. No LLM: statistics and code structure, in one offline Rust binary.

  • 50+ GitHub stars
  • 97.3% foreign code caught (620/637)
  • 0.25% false alarms on normal edits
  • 12 languages
Rust Tree-sitter Git internals Statistical ML MCP
Effect · React runtime

effract

/e.fʁak/

effraction: a break-in, entry by force

React components, written as Effect programs.

An experiment: what if React components were Effect programs?

Services, typed errors and resources live inside the component, and the same component can run in the browser, on the server, in a Web Worker or as a Server Component.

TypeScript Effect React RSC Vite

Other experiments

Agent supervision · Paused

vigie

/vi.ʒi/

A tool for keeping an eye on long-running coding agents: telemetry, spotting loops and drift, cost limits, stepping in.

Agent tooling changed so quickly that I stopped working on it.

World models · Game

spot the glitch

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

A browser game where you try to spot the clip that breaks physics, then see how a JEPA-style world model (LeWM) does.

It gets 10/10.

Stack & Craft

How I Build

A few habits, most of them picked up from codebases I had to maintain afterwards.

zsh · ~/stack
cat stack.yml --top
8yr total exp.
TypeScript/JS
8yr
Node.js
8yr
React
6yr
PostgreSQL
6yr
Effect-TS
4yr
Next.js
4yr
Python
5yr
Azure
4yr

# +31 more, one window per category below

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

Boundaries in the types

Domain code doesn't import frameworks or the database. With Effect, errors and dependencies sit in the type signatures, so a refactor tells you what it broke.

Hexagonal DDD Effect

Tests that pin behaviour

TDD when I don't know the shape yet, golden-master SQL when numbers must not drift. Now that agents write part of the code, invariants and property tests matter more to me than test-first.

TDD Golden master Property-based

Upgrades are normal work

Dependency upgrades, CVE fixes and migrations like CJS to ESM go into the regular flow of work. Postponed, they become a project nobody wants to start.

CVEs Upgrades Observability

The business vocabulary

I learn the words the business uses early and name things after them, so a ticket and a module talk about the same thing. Then small PRs, and pairing when a review would take longer.

DDD Code review Pairing

About

Behind the keyboard

The Tmonier helmsman, the company mascot
Software Craft SoCraTes Belgium Machine Learning Board Games Curious Tinkerer

I'm Damien, and I've been a curious tinkerer since I was a kid taking apart every piece of electronics in the house (sorry, Mom). I'm 31, married to the wonderful Clara, who puts up with my late-night coding sessions, and a proud dad to Basile, who already beats me at board games.

On the work side, I care about the craft. I'm part of the SoCraTes Belgium community, where I mostly learn by talking with other developers. I do TDD when it helps me think, and I refactor a little every time I touch a file.

I find AI in development fascinating, but when agents write most of the code, it slowly stops looking like your team wrote it, and nobody really notices. That's why I built Argot: it learns how a project is written from its history and points out what doesn't fit. When I'm not coding, I'm probably losing at Terraforming Mars or chasing whatever new tech caught my eye.

Contact

Tell me what you’re building

Short or long engagements. Drop me an email, I usually reply within a day.

Open to freelance work · Remote or Brussels