The idea
Plants don't have a data problem. They have a capture problem.
The richest source of operational truth — what operators see, hear, and do on shift — is rarely captured in a form any system can use. It's spoken over radios, held in memory, scattered across spreadsheets. And lost.
I call it the capture layer — turning what the floor already knows into structured data, at the moment it happens. Not bigger models. Better capture.
Capture at the moment
The watch-item, the half-finished job, the warning at handover — logged when it happens, not reconstructed after.The model never decides
Language captures and classifies; a deterministic engine stays the system of record. A design an operating plant can trust.Built on the floor
Designed from the shift, not from a spec sheet. It works because the person who built it has stood where you stand.The full argument, in one piece — The Capture Layer →
The shift log — writing
The Capture Layer
The whole thesis in one piece: what capture actually is, the three ways plants leak it, and why "we'll do AI later" quietly fails.
Read →Called Fourteen Times, Never Asked Why
A gauge stuck fourteen times before Buncefield. Every one was noticed, every one was fixed — and nobody could total them.
Read →An Addressing Problem
Your plant doesn't have a capture problem. Everything gets written down — it's just addressed to a person, and a person is where information stops.
Read →A Subtle Death
Nobody refuses the better tool. It dies without ever getting a verdict — because the friction stopped feeling like friction long ago.
Read →High Vibration Is Not a Severity
A model kept reading "high" as urgent. On the floor it's part of the fault's name — and that gap is why floor knowledge beats model scale.
Read →When the Open Item Carries Itself Forward
An open item survives a shift gap one way — someone re-writes it by hand. Re-writing is the failure mode.
Read →Close the Loop, Not the Log
Mineral processing was never a slow industry. So why did logs, tickets and handovers stay frozen?
Read →Noticing Was Never the Problem
The warning gets picked up. What a shift can't do is hold it all in its head until morning.
Read →The Floor Has the Edge
The people closest to the problem hold the data nobody ever wrote down.
Read →What a Handover Has to Carry
The four things every shift change has to move — and what breaks when one slips.
Read →Piper Alpha, 38 Years On
One story, told three times — and the one link in the safety chain we never engineered.
Read →The latest entries are published here in full. Pieces first appear on LinkedIn — full versions land on this page.
Learning in public
Alongside the writing, I'm teaching myself to build automations that take the manual busywork out of operations — reports, summaries, the paperwork around a shift — and sharing what I learn, in plain terms, for other operators. A few of the things I'm building:
Refinery OS
A shift-intelligence platform for plant floors: capture every equipment defect and shift handover the moment it happens, so the history is always there. I designed it from thirteen years on shift, and run it myself.
Agents, against real work
I build with AI coding agents — Claude Code, mostly — against real operational data, not toy examples. The method is the one the floor teaches: pick one recurring problem, watch how the work actually happens, build the smallest thing that removes real time, then test it against real historical cases before trusting it with anything.
Golem's Docs GPT
Grounded Q&A over your own documents — every answer traced back to the exact source line, never invented. Built on Claude; bring your own key.
View on GitHub → Open sourceGolem's Brief Deck
Turn any long video into a clean research report or a navy-and-gold briefing deck — the reading I never have time for, done in one pass. Open source, bring your own key.
View on GitHub →One spine, many floors
The same capture spine has been cloned for marine operations and training — days, not months. The idea isn't refinery-specific. It's shift-specific.
Buildings run shifts too
A tenant's 11 p.m. message is the same uncaptured signal as an operator's radio call — after hours, unstructured, gone by morning. The same capture layer, applied to property.
Read →One thread
Every lesson here is the same idea in a different coat: catch the signal the moment it happens — before it's gone.
And the part I care about most — what building these actually taught me. Every one started as a mistake or a surprise on my own screen, and the floor taught me to write those down. Full versions land on LinkedIn — the short of it:
Test the road, not the map
This site looked broken to every real visitor for an afternoon — while every check I ran said it was fine. My tools kept fetching fresh files; a returning browser was holding four-hour-old ones. Now I verify the exact path a reader walks, not the one my tooling takes.
The error that never fires is the expensive one
An app I was building was quietly dropping data fields — no crash, no warning, just gaps you'd find months later. I built a guard that catches it before every release. It's the whole reason I build capture tools: the miss you can't see is the one that hurts.
Make it deterministic before you make it smart
I put the AI step last on purpose. Resolve the equipment by plain rules first; let the model help only once the data underneath is clean. Point an AI at a messy foundation and it doesn't fix the mess — it multiplies it.
A load test is insurance, not proof
I ran 457 writes to be sure the app wouldn't fall over. It didn't — and that proved nothing about whether the thing actually solves the problem. Real proof is one person doing the real job with it, once.
The skim is the first read
I wrote a piece I was proud of. The verdict came back: "a boring page." On a screen, people scroll the whole thing in ten seconds before reading a word — so the headers and the diagrams have to carry the argument alone. Rebuilt for the skim.
Four AI sessions, one permit board
I run several AI assistants at once, and they kept colliding on the same files. So I gave them a permit-to-work: claim it before you touch it, and the others see the claim. The floor discipline that keeps two crews off one pump, applied to code.
About
I'm not a software vendor who read about plants — I've run them. Thirteen years on the floor: gold processing in the Philippines, then alumina refining — the Bayer process — at a Gulf refinery, as a licensed metallurgical engineer and shift supervisor who issues the permits and leads the crew.
I build the tools I wished I had at the 6 a.m. handover. Whatever I make works because the person who made it has stood where you stand.
Stay in touch
Get the next piece.
Get the free field guide — The Handover Gap: three disasters, one lesson, and a checklist for your next shift. Plus the occasional piece worth your shift. No noise, no pitch.
Run a shift somewhere? I compare notes with operators and supervisors on how real floors handle handover and capture — what works, what quietly doesn't. No pitch; I'm not selling anything. Tell me how yours does it: [email protected]