Build a product, drive a high-stakes change, remove a business problem.
01Examin · 2021 – 2023 · full-stack, then lead
Turn a complex domain into a usable product.
I translated compliance rules into user journeys, results and usable data, from the audit
engine to its reports. I then led the entire interface redesign independently, delivering it in
six months with no loss of functionality. As lead, I also mentored a junior developer and two
interns through code reviews and pair programming.
+My role, decisions and outcomes
Context
A private B2B product, small team, dense regulatory domain. February 2021 – October
2023.
My role
Full-stack developer, then lead from October 2022. Business engine, PDF generation,
interface, Ansible IaC, monitoring and backups.
Mentoring one junior developer and two interns.
Decisions
Model the compliance rules inside the product engine.
Build a PDF rendering faithful to the web version's modules, tables and charts.
Carry the full interface redesign alone.
Make the infrastructure reproducible with Ansible, monitoring and backups.
Results & limits
Redesign delivered in six months, with no functional loss and no negative business impact
identified.
After an attack: new server, infrastructure and data restored single-handed in under two
hours, against more than a week previously.
This work predates my professional use of AI.
Full-stack · PDF rendering · Ansible · monitoring · backups
02Fondation du patrimoine · since October 2023 · Lead Software Developer
Rebuild the foundations of a national donation platform while it stays in use.
I coordinate an external team of four. Our optimisation work proved itself during an unexpected
TV-driven traffic spike: the platform held up, with no general outage. We also switched card
payments — around 70% of donations — during the year-end campaign, the Foundation’s most
important fundraising period.
+My role, decisions and outcomes
Context
A national donation platform whose inefficient code required more infrastructure than it
does today. We first improved the software to stabilise the service; that work now creates
room to further reduce infrastructure capacity and costs.
My role
I help shape the roadmap and deliver on its commitments, making room for technical needs
and debt reduction. I coordinate four external team members and remain hands-on with
features, technical decisions, reviews and critical code.
Decisions
Optimise Next.js rendering, caching, images and page splitting. Verify origin capacity
with load tests up to 250 requests/s.
Work with the team to switch card payments to the new provider in one cutover during the
year-end campaign.
Results & limits
Performance under real traffic. On 19 July 2026, an unexpected TV-driven
spike was handled with no general outage: 1,614 req/s at the CDN and ≈172 req/s at origin
(distinct peaks). Rolling p95 reached 4.6 s during scaling.
Card payments during the key campaign. The cutover took place during
year-end fundraising. One failed transaction was spotted, fixed and audited in under 24
hours.
Costs. Around €500/month already saved on third-party services within
the documented scope. Further infrastructure downsizing is the next step. These results
were achieved with the team.
03French Ministry of the Interior · December 2017 – February 2021
From thirty hours to half a day. Every week.
By automating the statistical pipeline within the teams’ existing tools, I freed up roughly
0.75 full-time equivalent (FTE) of capacity for analysis. Weekly production fell from thirty
hours to half a day; consolidation between reporting seasons, from two months to four days. Less
repetitive handling, more time to understand the data.
+My role, decisions and outcomes
Context
A statistical chain spread across departments, delegations and regions, run by hand:
spreadsheets sent by email, repeated consolidation and corrections.
My role
Full-stack developer: designing and building the automation chain, working directly with
the services that produce and use the data.
Decisions
Automate inside the tools already in place — C++, Qt, SQL, macros and scripts — rather
than elsewhere. Treat the inter-season consolidation as a deliverable of its own.
Results & limits
Around 30 hours a week reduced to half a day, freeing roughly 0.75 FTE of capacity for
analysis.
Estimated using a 35-hour week and a 3.5-hour half-day: (30 − 3.5) ÷ 35 ≈ 0.76 FTE. This
is reallocated time, not a removed position.
Consolidation between reporting seasons fell from two months to four days.
C++ · Qt · SQL · macros · scripts
AI and judgement
AI widens what I can explore. The judgement is still mine.
As the technical point of reference for AI, I help teams adopt it to spot problems earlier and
make more room for domain expertise. The principle is the same as at the Ministry: automate
repetitive tasks and leave decisions that require judgement to people.
01 Frame the problem and the expected behaviour
02 Generate several versions, compare their behaviour
03 Test, review, measure against reality
04 Correct, then own what ships
Spot issues before being asked. Each day, I cross-check feedback from emails
and forms against logs and code to identify UX friction and bugs before they are brought to me.
The practice is already in use; I’m still refining its structure.
Take automation into production. The Word/SharePoint → CMS workflow is
deployed and in use, running largely on its own with human validation. Technical intervention
centres on occasional script corrections.
Tools, safeguards and outcomes
Controlled data access. I built an SSO-secured MCP server that all employees
can use through the Dust application, under the company’s contractual confidentiality
framework. It connects agents to internal tools, including our CRM, which has no native MCP
integration. Cross-checking user feedback, logs and code is one of its uses.
Verify and correct. During the team’s Strapi V3 → V5 migration, behaviour
comparisons and repeated audits helped fix more than 60% of the regressions detected within
that loop.
CMS workflow scope. Import, audit, notification, filing, then human
validation. Across 500 records, the estimated potential is around 250 hours of avoided data
entry; this remains an estimate, not a measured cumulative saving.
Human thread
A psychology degree, 2009–2012, then a move into software. I still build for organisations with
no engineering team.
I help relatives caring for people with Alzheimer’s find this respite centre’s activities,
information and contacts. A facilitator and webmaster from 2011 to 2018, I have returned as a
volunteer software developer in 2026.
To coordinate a residential building’s façade renovation, I built a site that centralises
information and makes progress easier to follow. As vice-chair of the co-owners’ council, I
use it to keep owners informed, organise the work and respond quickly.
Pierres en Lumières
Sole developer. New version in progress, release planned for Q4 2026 – January 2027.
Let’s talk about your product and how I can help build it.