English version

Sonam Crumière

Ontology is everything.

Whatever you stack on top inherits the model underneath. An agent will never outrun what it knows about the things it talks about. I build those models in Python, on corpora that actually exist, and I get half of what goes in them from people rather than from files.

The position : Why I think that

Three things I have seen up close, and that got me here.

  • The model sets what the engine can answer : Well-tuned retrieval finds the right extracts. It runs out elsewhere. Two documents name the same scheme differently, and nothing tells it so. They contradict each other, and it has no idea which one holds. Better reranking never touches any of that, because it is settled a level down, in the model.
  • Half the model lives in people's heads : At Schneider, the training data was maintained by people whose rules appeared in no file. No extraction reaches them there. I went to see them. We rebuilt the structure together, and that week decided what I want to do.
  • A model nobody reviews dies within a year : It is right the day you write it. The work moves on, the model does not. The real danger comes later, once nobody remembers it is wrong. What keeps it alive is sitting underneath the daily actions, with the rule it followed shown under each one and a way to say that rule is wrong.

The evidence : What backs the position

Ordered from closest to the position to furthest, not chronologically. Each one states what it establishes, and whether its code can be read.

01. The model I run on my own work (closed, private repository)

Knowledge repository and agent program, in daily service

This system shows that I have kept a living model running for months and can defend every choice in it.

A Markdown repository that takes in everything I read and everything I decide, together with the program that gives agents their rules, tools and context. It is the piece where the reasoning is visible, so it is the one I detail.

  • Filing is by situation : A page carries no tags. It carries triggers: the sentences in which I would phrase the need to open it. Search compares the request to each of them separately, so a page is found by its subject as readily as by the moment it becomes useful.
  • A fact lives in exactly one place : No page copies information that can change. It points to the page where that information lives. It is the most expensive rule in the whole repository to hold, and without it two pages end up contradicting each other for months with nobody noticing.
  • Nothing carries authority before review : Whatever an agent has just written is marked, and search refuses it until I have read it. A model fed on its own output drifts fast.

02. A doctoral research project on public policy (closed, research in progress)

Technical contributor, Schneider Electric, 2026

This project shows that the same operation holds on a real corpus, inside a company, with people who are not technical.

I built the tool that reads a body of documents on public policy, education and training. It connects their findings and ties each one to the exact passage it comes from. It ran well. The real subject showed up afterwards, on the training data side, maintained by people whose rules existed in no file. Without those rules the connections meant nothing. I went to see them and we rebuilt the structure together.

The code is not public, the research is not published. No corpus, no result, no screenshot.

03. Peakn8 (closed, private repository)

Founder, since 2025

Peakn8 shows that I have turned the same modelling work into an offer a company can buy, with a scope, a method and a stated limit.

I built Peakn8 around one observation: a company already holds the answers it needs, split across files, conversations and the people who happen to remember. The work is to make that knowledge explicit, reachable and usable inside the tools the teams already open, then to keep it alive while the company changes. Every system is built for one company, with its teams, and the support that follows belongs to the engagement rather than to an option. Each published example states what the work does not do, which is the part that decides whether a scope is worth taking.

Registered in December 2025. No engagement delivered to date.

04. Five public tools, and where they stop (open, github.com/scrumier)

Personal projects, Python, 2026

These tools show where what you get without a model runs out. It is useful, and it plateaus fast.

Each one does a single thing well, on real documents. None of them knows what it is talking about. That is why I show them: they trace the ceiling that modelling exists to break through.

  • pdf-rag : A plain-language question over a body of internal PDFs, answered with the document and the passage it came from. Tested on 98 documents.
  • invoice-processor : Drop a supplier invoice in a folder and the CSV row writes itself. Vision LLM, no per-supplier template.
  • contract-analyzer : Pulls dates, amounts, penalties and termination terms out of supplier contracts, and flags the clauses worth reading.
  • expense-analyzer : Flags suspicious expenses in a CSV and explains why. Business rules, Isolation Forest, plain-language explanation.
  • formation-builder : Turns a technical procedure PDF into a structured training module: guided steps and safety points.

The ceiling is the same everywhere. They retrieve, they extract, they classify. None of them knows that two documents are about the same thing, which one to believe when they diverge, or who to ask when both are silent.

The groundwork : 42 Lyon, before all of this

No lectures, no teachers. You hand in projects and your peers try to break them. Common Core completed, graduating November 2028. That is where I picked up the habit of looking underneath what a program says about itself.

ft_transcendence

A semi-open 3D world in the browser, with Pong, Tetris and Pacman playable inside it. Vanilla JavaScript, Three.js, Django, Docker. Team project, three people.

The rest, in C and C++

  • Minishell : A Unix shell: pipes, redirections and environment variables
  • cub3d : A raycasting rendering engine
  • ft_irc : An IRC server and its bot
  • inception : A containerised web infrastructure
  • Philosophers : Concurrency and starvation, in threads and in processes
  • cpp-Module : Nine C++ modules, from the basics through templates

The security track

Rainfall, Snow Crash and Override: reverse engineering, binary exploitation, buffer overflows and privilege escalation. That is what taught me not to believe what a program says about itself.

Two off-topic things I like

  • cold-wallet : A cold wallet written in Rust, designed for an air-gapped machine.
  • claude-stats : Aggregates my Claude token usage across every machine I run, local and remote.

Contact : What I am looking for

A second internship from November 2026. I am aiming at an organisation whose modelling problems are bigger than the ones I can give myself. Available after 13 November 2026, in France, with no work authorisation to arrange.

For a company whose knowledge is scattered rather than missing, that is Peakn8, on the other side.