Freelance - AI Software Engineer
sep 2025 — presentremote / toulouse, france
next.js | react | typescript | tailwindcss | drizzle | postgres | llm | embeddings | pinecone | gcp | bigquery | cloud run | vercel | maplibre | clerk | vitest
l420
- Competition economists and lawyers cannot afford an AI that invents. That is where L420 started: making French Competition Authority decisions searchable in natural language, but with sourced, verifiable, auditable answers.
- I built the product alone: RAG engine, chat interface, citation logic, history, authentication, billing, OAuth, an MCP connector for ChatGPT/Claude, deployment, and observability. The work was not just finding semantically similar text; it was showing which decisions were consulted, which ones were cited, and which paragraphs support the answer.
pyner
- When one retail brand wants to acquire another, it needs to submit a file to the competition authority. That file is prepared by competition economists, analysts, and lawyers who have to reconstruct the local market: areas, stores, competitors, market shares, and concentration indicators.
- Pyner turns that work, usually scattered across Excel, maps, and data files, into a product workflow. I owned the tool end to end: UX, mapping, establishment data, market areas, exclusions, market shares, concentration indicators, Excel exports, secure sharing, auth, billing, and production deployment. The real challenge was keeping the business logic reliable without turning the tool into something heavy to use.