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

Machine learning, research, software and products built end to end

Work outside the fleet systems: graph learning on a million-node dataset, a wearable assistant that refuses to guess, a self-supervised study whose answer was a null, an air-gapped retrieval service, a consumer product with two payment rails, and a forecasting experiment that the baseline won.
April to October 2026

Agent Fabric

A 1.39 million node graph of pull requests, people and repositories, built to test one question: does relational structure beat hand-built features? The experiment is designed so that it can say no.

1.39M nodes
Graph size
0.678→0.721
HeteroSAGE vs MLP, intrinsic features
+0.0075
Best graph model over LightGBM, both with history
PythonPyTorchPyTorch Geometricpyg-lib
Read case study→Source available
July to August 2026

Omnivision

Assistive tools describe scenes but carry no memory, and cannot tell recognising something from being confident about it. I built the part that refuses.

365 tests, 0 failures
Test suite
215 examples
Fixture evaluation
0
False triggers
Swift 6SwiftUIiOSMeta Wearables DAT SDK
Read case study→Source available
June 2026Finalist

Geometry-aware world models for EEG

EEG channel covariance lives on a curved manifold. I built three prediction heads to test whether the geometry matters. It did not, and proving that cleanly was the contribution.

0.819
Frozen linear probe, balanced accuracy
~0.89
AUROC
~0.79
Random-encoder floor
PythonPyTorchNumPySLURM
Read case study→Source available
July 2026

Obligation Ledger

The model proposes a termination date. The service throws it away and recomputes it from verified quotes. Nothing is approvable until every value has been found on its page.

128
Tests
approval blocked
Ablation result
7 of 7
Retrieval on the lease fixture
Python 3.12FastAPIPydanticPyMuPDF
Read case study→Source available
Nov 2025 to May 2026

ReFeed

Recommendation optimises for time spent. ReFeed re-ranks the same feed around a stated intent instead, scoring every card on semantic fit, freshness and clickbait.

5.5 months
Development span
8,506 lines
Application code
5
Ranking signals combined
React NativeExpoTypeScriptWebView injection
Explore case study→Private repository
March to September 2026

Wind Forecasting

The BiLSTM improves on the raw weather forecast by up to 17%. It still loses to boosted trees at every horizon. The project is kept because that is the result.

2.76 vs 2.86
+24 h MAE, trees against BiLSTM
3.08 vs 3.22
+48 h MAE, trees against BiLSTM
3.11 vs 3.30
+72 h MAE, trees against BiLSTM
PythonPyTorchpandasscikit-learn
Read case study→Source available

Experience

Where the work happens

  • EDF

    Sep 2025 to present

    AI Engineer, technical lead

    Applied AI for industrial and nuclear operations. Retrieval over dense technical documentation, vision-language work on engineering drawings, and the unglamorous part that decides whether any of it gets used: ingestion, evaluation, deployment and the people who have to trust the output.

    • Industrialised a retrieval system now used by more than 2,000 people, from the ingestion pipeline through to production deployment and day-to-day support.
    • Built the preprocessing behind it: parsing very long technical PDFs, regex extraction, chunking, noise filtering.
    • Benchmarked embedding models and language models before committing to a stack, then ran the deployment on internal servers.
    • Led the work as technical lead across a long delivery cycle, in agile sprints.
    • Built a second retrieval system that produces documents rather than answers.
    • Research work on drawing surveillance: guided OCR over complex isometric schematics, dimension reasoning, and conformance checks against the plant design software.
    • Preprocessing for 2D engineering data and 360° scans, preparing inputs for computer-vision models.
    • Wrote the documentation and usage guidelines that standardised AI practice across teams.
    • RAG at scale
    • Applied AI
    • Vision-language evaluation
    • Technical leadership
    • Production deployment
  • Pulse AI

    2026 to present

    Founder

    Decision intelligence for electric fleet and charging operations, shipped as FleetMind. Two prototypes, DepotOps and Forkcast, converged into one direction: simulate the operational night, compare interventions across the same sampled futures, and let a language model explain an outcome it was never allowed to produce.

    • Simulation
    • Decision support
    • Applied AI
    • Energy operations
  • Davolta Solutions

    Oct 2024 to Sep 2025

    Founder

    An independent structure doing audit and consulting on data and AI, run alongside a full-time engineering role. The work companies actually needed was rarely a model. It was usually a control: something that watches a software output or a sensitive manual step and says when it looks wrong.

    • Built rule-based controls over software outputs and manual processes, so anomalies surfaced on their own instead of being caught by whoever happened to check. That cut verification effort and made the critical steps auditable.
    • Audited existing data environments on quality, architecture and actual usage, which is usually where the gap between the three turns out to be the problem.
    • Worked directly with management to turn a business need into something specific enough to build, then built it.
    • Designed the dashboards and decision tools the results had to land in, because a control nobody reads is not a control.
    • Consulting
    • Data audit
    • Automated controls
    • Decision tooling
  • IBITEK-Group

    Dec 2024 to Aug 2025

    Industrial Data Engineer

    Data automation for industrial renovation projects, where the engineering data arrives spread across systems that were never meant to talk to each other.

    • Wrote the internal automation that processes and updates large sets of engineering data.
    • Designed SQL mapping pipelines to structure, clean and centralise technical information across several systems.
    • Cut manual steps out of the engineering workflow, which is what actually moved data reliability.
    • Data engineering
    • SQL
    • Industrial data
    • Automation
  • 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 beside 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.

5 engineering notes→