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.

Contact