Skip to content
Yoann Frayce

AI Engineer · Founder · Builder

Yoann Frayce

I build AI systems for real-world decision making — from energy operations and simulation to agents, world models and multimodal AI.

I build systems that simulate

The boundary

A language model can explain a decision. It cannot be allowed to invent the numbers behind it.

I arrived at that boundary five times, in three languages, across five months — in an operations agent, a decision engine, a contract service, a wearable assistant, and a simulation sandbox. Every time, the fix was the same: the arithmetic lives in deterministic code, and the model’s output is checked against it rather than trusted.

Generated explanation

Reprioritising lifts on-time departures to 97.2%, leaving 1 of 20 at risk and avoiding £4,200 of penalties.

97.2%supportedalternative.onTimeDeparturePct
1 of 20supportedalternative.vehiclesAtRisk
£4,200unsupportednothing produces this figure

→ paragraph rejected · the deterministic summary is shown instead

Claims, not values
A figure is a typed object carrying the field it came from, the calculation that produced it, the seed and the trial count. It is verified only if it still resolves to the simulation output it names.
Rejection, not correction
One unsupported figure discards the whole paragraph. A narrative that got one number wrong is not evidence about the others, and quietly patching it would hide the failure that matters.
Proven by test, not by prompt
An adversarial model that deliberately invents values is part of the test suite. A guardrail with no failing case is a claim, not a control.

Chapter 01 → 03

Two prototypes converged into one product

DepotOps and Forkcast were not separate hackathon entries that happened to look alike. The first established that operational risk becomes legible when you simulate the night hundreds of times. The second established the boundary that makes such a system safe in front of an operator. FleetMind is what they were both arguments for.

Selected systems

Research, accessibility, retrieval — and one product that shipped

Work outside the fleet systems. Three of these are about what a model has earned the right to say. The fourth is about what a ranking is optimising for, and ran for five and a half months with real payment paths behind it.

Experience

Where the work happens

  • FleetMind

    2026 — present

    Founder

    Decision intelligence for electric fleet and charging operations. Two prototypes — DepotOps and Forkcast — converged into a single direction: simulate the operational night, compare interventions across the same sampled futures, and let a language model explain the outcome without ever producing it.

    • Simulation
    • Decision support
    • Applied AI
    • Energy operations
  • EDF

    Sep 2025 — present

    AI Engineer

    Applied AI on industrial engineering deliverables in a regulated environment: retrieval over technical documentation, vision-language extraction from engineering drawings, deterministic rule layers beneath model output, and evaluation of model behaviour against expert ground truth.

    • Applied AI
    • RAG / LLM systems
    • Vision-language evaluation
    • Engineering workflow automation
    • Data integration
  • Research computing

    2026

    Self-supervised learning experiments

    Multi-seed self-supervised ablations on the Dalia (IDRIS) SLURM cluster: batch job orchestration, seeded reproducibility, and a results pipeline that records job ids and log paths as provenance alongside every published number.

    • SLURM / HPC
    • PyTorch
    • Self-supervised learning
    • Experiment tooling

Also hosted AI Builders Seattle, a meetup for people building AI products, research projects and startups, in the week after Seattle Tech Week.

How I work

Four things I hold to

The model explains. The engine computes.

A language model that produces the number someone acts on is a liability. In every system here the arithmetic lives in deterministic code, and the boundary is enforced by tests rather than by prompt wording.

Assert only what is evidenced.

A confident wrong answer is worse than silence, because it gets acted on. Values carry provenance, quotes are checked against their source, and unsupported output is rejected rather than repaired.

Measure honestly, including against yourself.

I publish the random-encoder floor that shrinks my own result, and the benchmark correction that showed the model was never the problem. A number without its baseline is decoration.

Ship the whole loop.

Physics, engine, API, interface, deployment, and the tests that pin the demo. Systems that only work on a laptop are not finished.

Smaller experiments and operational write-ups live in the notes.

6 engineering notes