I design software for people who make things, then build it myself with Claude Code. Some of it is for my company, some for my village, some for friends who asked.
NowBIMERIS, my platform for coordinating building models, opened early access in October 2026.
| Sheet | Project | Description | For | Year |
|---|---|---|---|---|
| 01 | BIMERIS | Platform for coordinating building models | My company | 2025– |
| 02 | Margon town hall | Village website, admin and intranet | Client | 2026 |
| 03 | Mon Coach | Training and meals, coached by Claude | Myself | 2026 |
| 04 | Formation Builder | Labour-law courses, level by level | A friend | 2026 |
| 05 | Leaf | 18 offline games for the table | Myself | 2026 |
| 06 | Sudoku without digits | Solver and generator | Myself | 2025 |
| 07 | Evolution and walking | Evolved jumpers, a robot that learns to walk | Myself | 2025 |
A browser-based platform for coordinating building models.
Architects and engineers each produce their own 3D model of the same building. BIMERIS loads them into one viewer in the browser, in absolute Lambert 93 coordinates, so models from different firms line up without manual realignment.
Clashes come grouped, not as a flat list. BIMERIS groups raw pairs by location, from overlapping bounding boxes on the same storey, into issues a team can work through. On test models, 213 confirmed pairs became 57 issues.
bimeris.comapp.bimeris.comThe app needs an account.

03Six models, one viewArchitecture, structure, HVAC, electrical and plumbing, aligned.
It also compares two different models, the architect’s and the structural engineer’s, rather than two versions of the same file. It shows what one draws and the other doesn’t, such as a wall present in structure and absent in architecture.
Each issue has a status (new, in progress, on hold, resolved or ignored), any number of assignees, comments and a full history. Moving the clash engine to web-ifc took one test run from 93.8 s to 6.4 s.
After demos with real users, I opened a private beta in August 2026 for about ten testers, and early access in October 2026.
BIMERISLogo, palette and type system, plus the landing page, demo decks and LinkedIn visuals generated in Python.
The website of the village I grew up in, built for the town hall staff to run themselves.
I designed the public site in Claude Design, built it with Claude Code, and host it on a VPS with Docker and automatic HTTPS. It goes live by the end of 2026.
The staff will update it on their own, in an editing space I designed for them: everyday tasks one click away, live preview, roles, email invitations and a log of every change.

01HomeIn the colours of the coat of arms, most of the year.
Next is the associations intranet, already built: one thread per project, room and equipment requests, and nothing reaches the public agenda until the town hall approves it.
A running and cooking coach that lives in a conversation with Claude.
A local web app with five tabs: week, meals, progress, journal, exercises. It calls no API, and the phone version fits in a single HTML file.
The app only displays. The coaching happens in a conversation with Claude, following a routine I wrote in CLAUDE.md. When I say “new week”, Claude merges my Garmin export, compares plan and reality, asks how the week went, writes a review, then plans the next week and its menu.

01This weekEach day's sessions, and what the Garmin recorded.
Each week also gets a menu and a shopping list.
A course builder for a friend who teaches labour law.
She imports a curriculum as a PDF or a photo. Claude reads it, lists the skills and knowledge it covers, and suggests a level, anywhere from a two-year vocational diploma to the final year of a master’s degree.
Then it writes a full course for that level, as a series of theory and practice blocks. Every block cites its legal sources with the article, its version and a summary. She can edit the course by hand, summarise it block by block, and export it to PDF or PowerPoint.
She uses it to draft the base of her courses, then reworks them herself. It saves her a lot of time.

01Import a curriculumA PDF or a photo, read by Claude.
The shape changes with the level. Up to the first year of a master’s, short blocks with a practice exercise after each notion. In the final year, one long theory block, then a single large synthesis case.
Sources are tracked through Légifrance’s free official API. Every week the app checks each cited article. If one has changed, the course is flagged as out of date, an alert appears in the calendar, and export is blocked unless she overrides it. The watch covers the articles a course cites, not the whole of labour law.
My favourite games, in a pocket instead of a backpack.
I started it in August 2026, before a backpacking trip to China with a friend. Her favourite card game comes in a huge box, and in a backpack every centimetre counts. So I put it on my phone, along with the other games I love.
It now holds eighteen: card games like Belote, Tarot and Yaniv, dice and tile games like Yams and Mahjong, and two arcade games. Up to eight players, depending on the game, and no internet needed.
One Android phone hosts and shows its address. Android players type the IP in the app. iPhone players open it in Safari, with nothing to install.

01HomeTap a bubble to play straight away.
The design is a nod to Animal Crossing, the first video game I ever spent whole hours on.
You can play alone, pass one phone around the table, or each on your own phone. In Belote, Coinche, Tarot and Mahjong, bots fill the empty seats and never peek at your cards. A paused game picks up where it left off.
Each game is a GameModule in lib/games/. It declares its name, player count, engine, network state and screen, then joins the catalogue. That made Belote, Coinche, Tarot and Mahjong half a day of work. Games with illustrated cards take longer, because I design those cards myself in Canva. Classic playing cards come from public card sets on GitHub.
We played it a lot on the plane out. Now it comes out whenever we have time to kill together.
A personal app for my own use, never sold or distributed. Game names belong to their publishers.
Puzzles with no given numbers, only clues between cells.
A Python generator and game for variant sudokus, in the style of Cracking the Cryptic. The 9×9 grid starts empty. Every clue is a symbol between two cells: Kropki dots (consecutive digits, or one double the other) and XV (a sum of 10 or 5).
It starts from a solution with every true symbol, then removes them one at a time, keeping a removal only if the grid can still be solved by logic alone. An independent brute-force solver checks that every grid has exactly one solution.

01PlayingNotes, colours, a timer and the symbol rules beside the grid.
Drag or Ctrl + click to select several cells: digits then go in small. Hold Shift for a pencil mark.
Four levels, from direct deductions up to intersections, pairs and triples. Nobody ever has to guess. An Extreme grid usually takes 0.3 to 5 seconds and ends with no starting digit and 23 to 42 symbols. With XV alone, two or three digits often have to stay.
Two rules to choose from. Partial: only the symbols shown count. Complete: no symbol between two cells means neither relation holds. The game adds notes, colours, hints, a step-by-step solver and a dark theme.
I started it with Gemini. The logic engine, generator and interface were then largely rewritten with Claude.
Where it started: creatures that evolve to jump, and a robot that learns to walk.
A two-legged robot that taught itself to walk. I built its world myself in the Gymnasium format, with pymunk physics: a torso, four motorised joints, its own sensors and its own reward. PPO from Stable-Baselines3 trained four robots in parallel for 620,000 steps, about nine minutes on an ordinary processor.
After training it covers about 160 m in 33 seconds without falling, and gets off to a clean start 10 times out of 10.

01Ancestor and descendantGeneration 1 jumps 41 px. Generation 59 jumps 611 px.
Jumping creatures, by evolution. A simple genetic algorithm over 100 creatures: the best half survives, the other half is replaced by mutated copies. Body and muscles both evolve: where the nodes sit, now and then an extra node or muscle, each muscle’s amplitude and phase, and a shared rhythm.
A creature scores for lifting its centre of gravity and, counted twice, for its take-off height, minus a small energy penalty. In the videos, the ancestor’s best jump is 41 pixels. By generation 59, its descendant reaches 611.
First versions in May 2025, cleaned up in October 2026.
Every project above started with a person and a chore: a weekly clash triage, a town hall that wanted to update its own site, a trainer turning a curriculum into courses.
I design the screens, set the structure and review what it writes. One shared game structure, one type system, one data model, so the next feature is cheap.
Demos with BIMERIS users, town hall staff editing their own pages, friends around a table. What they trip on goes into the next week's work.
Happy to talk about a role, a project, or how I design and build with AI.