I design and ship AI tools for concrete business use cases.
My AI products, from idea to production.
Five products built by piloting AI. The LLM is chosen per need: often Mistral for European compliance. Claude Code is how I drive development. Filter by stage, open a card.
An eval gate, before production.
Describe an AI feature: a model judges it live against four hard, eliminatory rules. Every rule comes back with its reasoning, and with what you would need to add when it fails. My differentiator, reliability through rules, made playable.
Built for humans, and machines.
In 2026, agents read your site as much as humans do. The same content, structured so an LLM can read it without guessing. Switch views.
Designs and ships AI products end to end: from scoping to model choice, evals, UX and production. I pilot AI; it doesn't pilot me.
// application/ld+json { "@type": "Person", "name": "Louis Rotellini", "jobTitle": "AI Product Engineer · Full-Stack · Next.js · TypeScript · Node", "skills": ["Next.js", "TypeScript", "LLM", "RAG"], "address": "Lille, FR", "products": 5, "shipped": 1, "prototype": 3, "scoping": 1 }
Generation can be delegated.
Judgment, never.
Making a fallible system reliable.
An LLM-based system is probabilistic, therefore fallible. My job is to ship it to production anyway, without ever trusting it blindly.
I never start from “add AI”, but from a target: a time to cut, a cost per task to cap, a success rate to hold. Business need first, model choice after. Often Mistral to stay in Europe, sometimes no AI at all if a rule is enough.
The core move of the craft: deciding where a hard rule must apply and where the model may decide. DocTap has two pipelines. A 100% local mode where no data leaves the device, and an AI mode with OCR followed by human verification before export. I deliberately refused a named patient vault to stay out of the French HDS health-data scope.
An LLM hedges by default; for a reproducible judgment I impose hard, eliminatory rules on it. That's the principle behind my scoring engine. This site's live demo makes it playable: an eval gate that scores a feature against those rules before production.
I direct the implementation within strict limits: types, schemas, review. I don't re-read the code by hand: I run AI-assisted audits to flush out flaws, counter-audited by a second agent when the stakes warrant it. On a recent build, that caught an API route left exposed before production. Detection can be delegated; what ships to production is my call.
~10 years of web. I started in integration, then React / Next.js / TypeScript front-end. Now a Front-end Developer, I build products by piloting AI, from idea to production.
A real developer's path turned AI-augmented builder, not a no-code convert. That's what lets me direct AI instead of enduring it, and audit what it produces.
