About
I spent 15 years as a cognitive behavioural therapist before I switched to software engineering. The through-line is the same problem: people (and now machines) produce confident, coherent output that is sometimes completely wrong, and the interesting work is building systems that catch it.
I write TypeScript and Go. I’ve shipped production code at EDITED (retail analytics), Brandwatch (social intelligence), and Telesoft (network security). 5 years in engineering, 15 in psychology. The psychology turns out to be load-bearing.
What I’m building
The Pit — an agentic evaluation arena. 11 specialised agents governed by integration discipline. Every session decision on file. The agents write code, review each other’s work, and catch each other’s mistakes. I govern the process by which their output becomes trustworthy. The repo is public.
oceanheart.ai — this site. Learning in public about what happens when you give LLMs real responsibilities and then hold them to account.
slopodar — a field taxonomy of LLM output patterns caught in the wild. Epistemic theatre, paper guardrails, analytical lullabies.
What I think about
How do you keep the human in the loop when the loop runs at machine speed? How do you build governance that scales without becoming theatre?
I came to this from therapy, where the core skill is noticing when someone (including yourself) is producing plausible-sounding nonsense. Turns out that skill transfers directly.