00 / hello

Benjamin Hutchings

Machine learning researcher and platform engineer. I take research and client requirements through to production systems people use. Currently CSO at Digital Planning.

// coding

␣ space / tap to playa little chrome-dino, but it's me

01 / about

whoami.

benjamin@about: ~

02 / experience

Where I've been.

benjamin@experience: ~
$history --professional

2025–Present

Chief Science Officer

Digital Planning Ltd · Loughborough, UK

Promoted to the executive team within a year of joining. Two direct reports and a co-supervised PhD student, with technical direction across a 15-developer function.

2024–2025

Machine Learning Engineer

Digital Planning Ltd · Loughborough, UK

Joined to apply machine learning to what proved to be an operations research problem. Delivered the scheduling algorithm, then the platform around it.

2022–2024

Machine Learning Engineer, AI R&D Work Package Technical Lead

Defence Science & Technology Laboratory (Dstl) · Wiltshire, UK

Deep reinforcement learning research into RF spectrum prediction, and technical review of contracted signal-classification research. SC clearance held throughout.

2018 · 2019 · 2020

Engineering Research Placements

Defence Science & Technology Laboratory (Dstl) · Kent, UK

Three placements across signals and electronic warfare, UAVs and communications standards. Converted to a full-time hire.

$

03 / delivery

What I've shipped.

// client work is confidential. Abstracts below; open a row for the build.

benjamin@delivery: ~
$ git log --delivery --professional
# Multi-tenant AI agent platform — Digital Planning
project = Delivery(
name="Metis Fabric",
impact="live in Azure production",
summary="Multi-tenant AI agent platform — Digital Planning",
details="Sole architect. Built on one commercial thesis: bespoke agent builds do not scale, so the substrate is built once and the marginal client becomes configuration. Client agents ship as a manifest and a prompt on a shared LangGraph substrate with no bespoke graph code. Architected, built, deployed and operated alone across backend, frontend, database and cloud, then taken to Azure production on Container Apps with azd and Bicep infrastructure as code, Key Vault under managed identity, and PostgreSQL with point-in-time recovery. Tenant isolation sits at the database layer: non-superuser roles under session-scoped Postgres GUCs, force-RLS on core tenant tables, and a boot guard that halts startup if the runtime role can bypass RLS at all. Prompt-injection defence in depth against an explicit lethal-trifecta threat model, with dual-LLM quarantine over third-party tool output, per-agent egress allowlists on an SSRF floor, and an Ed25519 capability-token gate on every external write. Model calls route through a LiteLLM gateway on capability tiers rather than named models, so a provider switch is a configuration change.",
stack=[
LangGraphFastAPIPostgres (RLS)PGpgvectorLILiteLLMAZAzureBIBicepNext.js
],
)
⎇ main · delivery26 deliverables · PY

04 / fireside

cat ~/.fireside

// what I keep coming back to — no clock on it, just the good stuff.

benjamin@fireside: ~
$ grep --all
20VCtop pick — Harry Stebbings — VC & startup conversations.podcast
Algorithm Selection for Combinatorial Search Problems: A Surveytop pick — The map of the territory my day job lives in.AI Magazine, 2014
ReAct: Synergizing Reasoning and Acting in Language Models — The pattern under most of the agent runtimes I build.ICLR, 2023
The Bitter Lesson — The argument I keep losing to and keep agreeing with.Essay, 2019
Why solver-selection beats a bigger model — On combinatorial optimisation problems, picking the right solver per-instance with a small ML model beats throwing a bigger, slower hammer at everything.2 min
RLS the boring way (and why) — Row-Level Security keyed on a session-scoped GUC is the unglamorous, correct way to do multi-tenant isolation. Boring is the point.1 min
Notes from a year on the move — A sheep farm in Iceland, a ski season in Morzine, a point break at Uluwatu, and a guitar paid for in beers. What a deferred grad year taught me about engineering.1 min
$

05 / contact

Let's build something.

// open a channel — I read everything.

benjamin@contact: ~