Reading, UK/Senior Design & AI Engineer · AI platform, agents & governance
From individual productivity to company-wide.
I build the system that puts AI to work across a chip-design company: governed agents on every engineer's machine, knowledge siloed by project, one gateway for every model, and a ledger that ties each customer requirement to the work and evidence behind it. At Aion Silicon, after three years designing chips.
Company brain next · knowledge graph of company activity
IP catalogue human-written: what · what for · where
bedrock-platform · model gatewayLiteLLM · IAM guardrail · Bedrock Guardrails (next) · budgets · AgentCore + LangGraph · Claude Code on Bedrock
Slurm EDA jobs on EC2
Models any Bedrock model · self-hosted vLLM
Tools · MCP Jira · M365 · Freshservice · AWS
EDA tools read the IP · return results
Meetings & notes next · team meetings · external notes · call notes
IP library never sent to a model
Identity · AD · Entra ID · LDAP → IAM Identity Centerevery person and every agent sees only what their permissions allow
people useagent harnesses (Claude Code · Codex · Antigravity), each with that person’s experience-vault · Jarvis dashboard · Open WebUI · dashboards
the worka customer requirement becomes Jarvis nodes, each signed off by its owner, run by agents in a workspace and closed with verified evidence; corrections become rules for the next run
with context fromknowledge bases (per project + 1 company, filled by doc2md from S3 · SharePoint · Teams) and an IP catalogue that describes each IP so agents know when to call it without reading it
throughthe bedrock-platform model gateway, and Slurm jobs that run EDA tools on the IP itself, which never reaches a model
under everythingidentity (AD · Entra ID · LDAP → IAM Identity Center): every person and agent sees only what their permissions allow
nextCompany brain: a knowledge graph fed by meetings and notes, the knowledge bases and Jarvis activity, answering through Open WebUI
Before you build is the cheap window. I lay everything out up front (the plan, the workflows, the system) while being wrong still costs an edit, and everyone can see it and push back. Once a project ramps up, every mistake costs more and the team ends up firefighting.
01
If I can't draw it, I don't understand it.
A system should be block-diagram-able, and the code should mirror the diagram. When two approaches tie, I pick the one that’s easier to draw.
02
Silence isn’t the absence of problems.
It’s the absence of reporting. No evidence means unknown, never green, and unknown stays distinct from zero.
03
Swappability over perfection.
A wrong choice is fine if the module can be replaced. Tight coupling is the real mistake: it turns a wrong choice into a rewrite.
04
Deterministic first, the model for judgement.
An LLM is a probability machine, so most of a workflow should be plain, testable code. The model takes the judgement calls, and security is enforced outside it.
05
Done is a green gate, not a report.
Work counts when the check passes. A test only counts once I’ve seen it fail, and a pass over zero items is a failure.
06
Lessons should travel.
What one project learns becomes a rule every agent loads, and every new project starts from the last one’s blueprint: cut what you don’t need, change what differs, add what’s missing.
A design is ready to build when…
my four-point check
1It has a clear, simple end goal.
2There’s a feedback loop from the output back to the input.
3It solves a real problem, ideally several.
4It can be described as a system without naming the code or the components, so I can swap them later.
What chip design taught me about AI systems
in silicon → in AI systems
In silicon, and the same idea in AI systems
Modules with typed ports
→
Schemas and typed fields before any code
Architecture exploration before RTL
→
Lay the whole project out before building any of it
A block with no regression results isn’t passing
→
A task with no evidence is unknown, never green
A golden reference model
→
An independent ground truth behind every eval and grader
Re-verify after a netlist change
→
Evidence hashed to its inputs: change one, re-check everything downstream
A derivative chip starts from the last flow
→
Every project starts from a template, and its lessons go back in
Three problems from the last year, and what changed once I looked past the first answer.
case 01
An agent that keeps its own ledger
what I noticed
Hashing every record, like a blockchain, proves nothing was changed after it was written. It doesn’t prove the record was true. And one writer checking itself is the opposite of what makes a blockchain trustworthy.
what I did
Designed Jarvis around independent checkers and a mirror of the ledger the writer can’t rewrite. Work done outside the system gets recorded, but it can’t turn a task green until it’s checked inside.
case 02
RAG answers that weren’t good enough
what I noticed
The instinct is to blame the model. Measuring first showed 18% of the corpus had silently converted to empty text, and the reranker added to improve results was cutting nDCG by 39%.
what I did
Fixed the conversion and made it provable, which became doc2md’s lossless gate. From then on, a change stayed only if the benchmark backed it.
case 03
Coding agents next to customer IP
what I noticed
Rules written into a prompt aren’t controls. A model can be talked out of an instruction; a hook outside the model can’t be.
what I did
Enforced the policy outside the model: IT-managed rules users can’t override, hooks that block secrets, every action logged per person. Then wrote down what isn’t covered yet, so IT never claims more than the system delivers.
// 0x03 · experience
Forward-deployed, in-house.
Senior Design & AI Engineer · Aion Silicon
London, UK
Building the company AI platform, largely as its sole engineer: the gateway, retrieval, agents, evaluation and governance that let the engineering organisation use AI safely.
adoption & governance
Wrote the security case that got Claude approved company-wide, then led the Claude Code rollout across engineering (about 100 engineers) to daily use on every shared engineering host, under a policy set by IT that users cannot override, with credentials protected and activity logged per user.
knowledge
Moved company RAG from a self-built platform (LangGraph, Temporal, Weaviate, vLLM) to AWS Bedrock Knowledge Bases, now used by about 100 engineers through Open WebUI: one company-wide base, plus a base per customer project visible only to that team via IAM Identity Center and Entra ID.
measurement
Made retrieval quality measurable (Recall@k, MRR, nDCG, faithfulness, LLM-as-judge), which overturned assumptions: replaced a reranker that was cutting nDCG by 39% with a generation model, caught 18% of the corpus silently converted to empty text, and lifted a failing sanity set from 1/10 to 8/10.
agents
Designing and building an agentic project-delivery platform to keep complex engineering projects on time and observable. Each project is a graph of owned tasks with typed inputs and outputs, so work hands over cleanly between domains and every result traces back to the customer requirement.
platform
Designed the company AI platform's foundations around LiteLLM as a single gateway, so any team reaches any model, on Bedrock or self-hosted, through one API. Temporal workflows to orchestrate AI calls; PostgreSQL, Weaviate, Neo4j and MinIO for storage.
visibility
Built compute and licence analytics over a 3.3M-job Slurm archive and 1,300+ FlexLM features; management uses it to forecast licence use per project and cut memory waste.
Senior Design Engineer · Aion Silicon
Re-engineered a RISC-V vector core to drive an external VPU accelerator, plus flow automation in Python, Tcl and Bash.
ASIC Design Engineer · Aion Silicon
Front-end RTL across IP and SoC projects; set up the company-wide lint methodology; owned DFT on an automotive SoC.
MEng Electrical & Electronic Engineering · University of Southampton
The agentic ledger that grounds a chip project in real tasks. A customer’s sentence becomes goals, requirements and tasks; each task gets its own workspace, and agents do the work with the existing EDA tools.
Every output is tied to its inputs by fingerprint, so a changed requirement or file re-checks everything built on it. Projects start from a template with lessons from past ones built in, and managers, engineers and agents all read the same ledger.
Claude Code for a shared Linux engineering fleet, run by IT: a policy users can’t override, hooks that block secrets and log every action per person, a check-first installer, and daily, drift and weekly reports.
Bash · Python · systemd
platformprivate
bedrock-platform
The company’s Bedrock setup as code: the model registry, an IAM guardrail with tagged profiles and budgets, a LiteLLM gateway with keys for AgentCore and LangGraph agents, and a switch that runs Claude Code on Bedrock.
Python · LiteLLM · AWS
knowledgeprivate
experience-vault
How lessons travel between my projects. Claude sessions and design docs become a linked Obsidian vault; lessons become rule decks, and the decks ship as skills that agents in every other repo load.
Turns Office documents into token-efficient Markdown for RAG, with a second pass that proves nothing was lost: docx, xlsx and pptx must reach full token recall, and PDFs report exactly what they dropped.
The skeleton my repos start from, Jarvis and bedrock-platform included. One labelled layout that humans and coding agents share, with gates that fail the build when structure, docs or links drift.
Watches for documentation drifting from code, asks a pluggable LLM backend to fix or invalidate it, and logs every verdict for human review against a versioned public schema.