When does power move? The duck curve, the daily spread, negative prices, capture price, volatility.
Software products,
shipped end to end.
Twenty years putting AR and planning software on factory floors, now in two products built with Claude.
Nine plain questions about European power, answered by 41 views computed in advance from open data on a fixed schedule. An assistant on every view answers questions about its charts.
Generation mix, carbon intensity, residual load, the midday ramp-down, and when gas sets the price.
Where power flows and why prices split, in Germany, France, the Nordics and the UK.
Dunkelflaute, batteries large and commercial, adequacy, and how far the day-ahead forecasts miss.
What flexibility is worth, and how a megawatt-hour becomes your monthly bill.
Where Europe's cars and first electric trucks plug in, what a charge costs, and how much of the network is built.
Data centres, a flat line for a decade until AI: what they draw, what a token costs in energy, and who gets connected.
What gets built, and how fast: solar and wind capacity, how much of the year it runs, and how much energy arrives as electricity.
Fourteen power systems, each with its own fuels, price zones and answer to the same problem.
One number for the business: 100 points across quality, value and moat. Around it, a score-free read on sentiment, IPOs and events. Each score shows its working: the figures behind every pillar, and how complete the data is. It is retired for now; the screenshots show it as it last ran.
I describe what I want and answer the questions that sharpen it. Claude writes the spec, and when I say go, a crew of agents builds it issue by issue. A second model reviews every pull request and merges what passes. I say go once more to release it.
A shared kit puts the same skills, hooks and release workflow into every repo, and a drift check catches local edits. Every session runs on one home server, and I steer them from a laptop, a tablet or my phone. Opus writes the spec, reviews and judges; Sonnet workers write the code.
A task manager watches every run, and what it can't settle gets parked with a reason. An LLM council of four models checks the spec and risky merges. Progress lives on GitHub: each milestone closes when it's done, and a live board shows every issue.
Behind it, a testing gate on every session: failing-first tests, pre-commit hooks, detect-secrets. Wattlas alone carries over 5,600 tests.
My go opens a release PR. Its merge starts one workflow that tags the commit, publishes the notes, deploys, smoke-checks the live site and closes the milestone. No session pushes a tag.
A scheduled job reruns the Python pipeline on the 1st and 15th at 05:17 UTC, commits only the JSON that changed, and the static site redeploys. Each open data feed is isolated and fails open.
The two products above are the current chapter. Before them came augmented reality out of a research lab and into car plants, a German company to run, and the work I do now: leading a consulting team at Dassault Systèmes that connects manufacturing planning to what happens on the line.
It is told as six frames on a wall. Each one is faint pencil until you open it, then it inks itself in. The sixth is blank: you write the next one, and it arrives in my inbox with your line already in it.
Weimar, Bordeaux, Tokyo. How should people handle 3D content without a mouse? Five papers and a doctorate later, factories wanted the answer.
Paris. Leading R&D at Diota, turning AR tracking research into something that survives factory light and moving parts.
Stuttgart. Taking over the German company: P&L, hiring, and learning exactly what a business case must look like before anyone signs.
Dassault Systèmes. Leading the DELMIA Augmented Experience consulting team, connecting the digital twin to the people doing the work.
The two products above, designed, built and shipped end to end, with AI doing the typing and a human keeping the gates.
Empty on purpose. Write one line into it and it becomes the start of a conversation.



