const about: Engineer

Data scientist, then builder

I spent five years putting machine learning into production before it was fashionable, and the three years since building the products around it. That order matters: I have served models at scale, so I know what an AI feature actually costs once it leaves the notebook.

The path

  1. 2018 — 2020

    Data Scientist · Mention

    Sentiment analysis served in production at over 1,000 requests per second. Named-entity recognition, real-time clustering of news streams, anomaly detection on coverage spikes. This is where I learned that a model is the easy part and serving it is the job.

  2. 2020 — 2023

    Machine Learning Engineer · Ornikar

    A model predicting a learner’s odds of passing the French driving theory test, read 150,000 times a month. Insurance pricing, lead scoring, knowledge tracing. Airflow DAGs, dbt, Cloud Run deployed through Terraform. Five years in, I had shipped ML — and wanted to ship products.

  3. 2023 — now

    Full-stack Engineer · FREELANCEREPUBLIK

    Co-built Jemmo, an AI talent-matching SaaS: a plan-then-execute agentic pipeline, vector search over 22M profiles, LLM-driven ranking, and a remote MCP server exposing all of it to AI assistants over authenticated OAuth sessions. Plus a bidirectional MongoDB↔ATS sync engine in Effect, with drift detection and field-level reconciliation.

How I work

Coming from data science, I tend to build the measurement before I build the thing. On a side project I spent a few weeks on a knowledge graph meant to improve retrieval; the benchmark said it did not beat plain cosine similarity on ranking, so I dropped it and kept the one part that did help. That is the useful half of the habit — not that I benchmark everything, but that when it matters I can tell a good idea from one I am attached to.

The rest is unremarkable: I would rather ship the boring version and find out, I write down the decisions that were close calls, and I try to leave a codebase that the next person can read.

If you only look at two things

Notarais the largest thing I have built solo: a self-hosted Notion alternative with a block editor, inline databases and real-time collaboration — an entire backend in Effect, one SQLite file per workspace, shipped as a single container. The architecture and licensing decisions are recorded as ADRs in the repo, which is the honest way to read how I make calls.

The permis bateau RAG case study is the shortest sample of the measuring habit: a full retrieval pipeline, a benchmark on 60 stratified questions plus 10 out-of-domain traps, and a conclusion that says my clever idea lost to the simple baseline. Code ison GitHub, and there is alive chat demo you can break.

The problems I like

AI features that have to survive contact with real users: retrieval that returns the right thing, agents that stop when they should, evaluation that catches a regression before a customer does, and the cost and latency of all of it under load. I am just as happy owning the backend that serves them. If that is the kind of problem on your desk, I am always up for the conversation.