Portfolio · Sheet set Issued 8 Oct 2026

Noémie
Turchetto.

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 index

7 sheets
SheetProjectDescriptionForYear
01BIMERISPlatform for coordinating building modelsMy company2025–
02Margon town hallVillage website, admin and intranetClient2026
03Mon CoachTraining and meals, coached by ClaudeMyself2026
04Formation BuilderLabour-law courses, level by levelA friend2026
05Leaf18 offline games for the tableMyself2026
06Sudoku without digitsSolver and generatorMyself2025
07Evolution and walkingEvolved jumpers, a robot that learns to walkMyself2025
Sheet01/07
ForMy company
RoleFounder, sole designer and builder
KindWeb platform · 2025–present

BIMERIS

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.

Screens from the app · tap a thumbnail
BIMERIS viewer with six models of the Snowdon Towers sample project listed on the left and the whole building in 3D on the right.

03Six models, one viewArchitecture, structure, HVAC, electrical and plumbing, aligned.

Fig. 01Real screens, on Snowdon Towers, a public sample project.

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.

Built withClaude CodeC#ASP.NET CorePythonweb-ifcThat Open ComponentsIFCBCF
Identity, also mine

Logo, palette and type system, plus the landing page, demo decks and LinkedIn visuals generated in Python.

Palette
Violet#633078Buttons, links
Gold#d88a00Wordmark, key figures
Cream#fff7dfLogo ground
Slate#27303fText
Ground#f8fafcPage
Type Gestion des clashsOswald, headings Filtre, tri et export des interférences entre maquettes.Merriweather, text BIMERISCardo, wordmark
Sheet02/07
ForMargon town hall, Hérault
RoleDesign, build, hosting
KindWebsite, admin, intranet · live late 2026

Margon town hall

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.

Screens from the site and its editing space · tap a thumbnail
Margon home page in red: the coat of arms, an aerial photo of the village and its castle, and the name Margon in very large letters.

01HomeIn the colours of the coat of arms, most of the year.

Fig. 02Real screens from the site before launch. The events and news are examples.
Also in the build
  • Seasonal looks that switch on by date: Halloween, Christmas, Octobre Rose and many more.
  • A history section with a timeline, a church plan, a bell and a quiz.
  • A treasure hunt: six riddles on foot through the village.
  • Uploaded photos resized, converted to WebP and stripped of GPS data.
  • An RGAA 4.1 contrast check on every build.

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.

Built withClaude DesignClaude CodeDockerVPSRGAA 4.1
Sheet03/07
ForMyself
RoleDesign, build, coaching routine
KindLocal web app · 2026

Mon Coach

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.

Screens from the app · tap a thumbnail
Week 41 in Mon Coach: seven day columns of running, strength and yoga sessions, with the distance, pace and heart rate recorded by the Garmin under each day, then the week's theme and race goals.

01This weekEach day's sessions, and what the Garmin recorded.

Fig. 03Real screens from the app, filled with example data.
My rules, written for Claude
  • A missed session is never made up.
  • Volume grows 10 % a week at most, with a lighter week every three or four.
  • Two hard sessions a week at most, never back to back.
  • Pain ends the session and something gentle replaces it.
  • Heart rate above zone 2 on an easy run slows the paces down.

Each week also gets a menu and a shopping list.

Built withClaudeClaude CodeCLAUDE.md routineHTML, CSS, JavaScriptPythonGarmin Connect CSV
Sheet04/07
ForA labour-law trainer
RoleDesign and build
KindWeb app · 2026

Formation Builder

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.

Screens from the app · tap a thumbnail
Import screen with a title field and a drop zone for a PDF or an image, and an Analyse with Claude button.

01Import a curriculumA PDF or a photo, read by Claude.

Fig. 04Real screens. The example course was generated by the app and is still to be reviewed by the trainer.

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.

Built withClaude CodeClaude APINext.jsFastAPIPostgreSQLDockerLégifrance APIAPScheduler
Sheet05/07
ForMe, and a friend
RoleDesign, build, card art
KindAndroid app, offline · since Aug 2026

Leaf

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.

Screens from the app · tap a thumbnail
Leaf home screen: a name field and a grid of game bubbles, each with its player count.

01HomeTap a bubble to play straight away.

Fig. 05Real screens from the app, in French as it ships.

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.

Built withClaude CodeFlutterDartDart server on the host phoneWebSocketsCanva

A personal app for my own use, never sold or distributed. Game names belong to their publishers.

Sheet06/07
ForMyself
RoleAlgorithm, code and app
KindGenerator, solver and game · 2025

Sudoku without digits

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.

Screens from the app · tap a thumbnail
The sudoku app in light theme: a 9 by 9 grid with dots and X and V symbols, a digit pad and colours on the left, timer and rules on the right.

01PlayingNotes, colours, a timer and the symbol rules beside the grid.

Fig. 06bReal screens from the app.

Your turn.

Beat the clock · a new grid every time, no guessing needed
Time0:00
Best–
  • 1–6Each row, column and 2×3 box holds 1 to 6 once.
  • White dot: the digits are consecutive.
  • Black dot: one digit is double the other.
  • XThe two digits add up to 10.
  • VThe two digits add up to 5.

Drag or Ctrl + click to select several cells: digits then go in small. Hold Shift for a pencil mark.

Fig. 06Generated in your browser with the same symbols, rule and method as the Python generator, rewritten in JavaScript for this page: every grid can be solved by logic alone, and brute force checks it has exactly one solution.

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.

Built withPythonGeminiClaude Code
Sheet07/07
ForMyself
RoleSimulation and training
KindEvolution, reinforcement learning · 2025

Evolution and walking

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.

Videos and screens from the simulations · tap a thumbnail

01Ancestor and descendantGeneration 1 jumps 41 px. Generation 59 jumps 611 px.

Fig. 07Real recordings and screens from the evolution project.

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.

Built withPythonGymnasiumpymunkStable-Baselines3PPOPygameGeminiClaude

How I work

Decide

I pick the problem

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.

Build

Claude Code writes most of the code

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.

Test

Real people use it early

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.

Contact

Happy to talk about a role, a project, or how I design and build with AI.

Emailnjm.turchetto@gmail.comWrite
Phone · WhatsApp+33 7 83 42 56 57WhatsApp
LinkedInlinkedin.com/in/noemie-turchettoOpen profile