Operations in AI Safety: A One-Year Perspective and Advice
Jul 24, 2025
Building things and fixing problems
Building systems and tools to support AI Safety professionals. Working to get more people working on critical AI Safety challenges.
Previously, I ran theatre venues and productions, helped students and student groups turn their ideas into impact, and solved problems with software.
I run programs and build operational infrastructure for AI Safety organisations including recruitment and selection pipelines, program logistics, CRMs, and the automations to hold them together. I'm explicitly trying to put myself out of a More about this side of me →
An AI Safety organisation had its contact, alumni, and donor data spread out across various tables and spreadsheets. I designed and built the system that brought it together.
First employee at the incubator for new AI Safety organisations. Co-ran the incubation program end to end
Taught AI agents, adversarial attacks, and AI Safety strategy at a 10-day intensive bootcamp
I build internal systems, data pipelines, and developer tooling, including a growing toolkit for making AI agents verifiable enough to do real work. More about this side of me →
An AI Safety organisation had its contact, alumni, and donor data spread out across various tables and spreadsheets. I designed and built the system that brought it together.
CLI tools that let AI agents read and edit Word documents, Excel sheets, and PDFs
Claude Code skills that teach AI agents modern Ruby on Rails 8 conventions, so agent-written code comes out idiomatic
Schema export, schema diffing, standards checking, and access auditing for Airtable bases, plus an agent skill for writing correct Airtable scripts
I compose for theatre and podcasts, and I hold a degree in Acoustics and Music Technology, which I finished with a dissertation on what stalactites sound like when you hit them with a mallet. More about this side of me →
Themes and scores for podcasts, theatre, and other narrative art
I run venues at the Edinburgh Fringe, sound-design professional shows, and learned how to be organised by running a theatre. More about this side of me →
Freelance sound design, including "Mary: A Gig Theatre Show" across five runs from the Fringe to the Traverse
Programming, front of house, and production management for Edinburgh Fringe venues, including leading Bedlam Theatre's return to the Edinburgh Fringe
A chatbot that helps you decide which of the Edinburgh Fringe's 3,500 shows to actually go see
Web soundboard for live improv comedy
Invite my new posts to your inbox
An AI Safety organisation had its contact, alumni, and donor data spread out across various tables and spreadsheets. I designed and built the system that brought it together.
Catalyze Impact incubates new AI Safety organisations. I was their first employee, and for a year and a half I co-ran the incubation program:
I also built the systems everything ran on using Airtable bases and Python scripts that automated the repetitive parts of recruitment and selection, and I made some really great spreadsheets.
ML4Good runs 10-day intensive bootcamps that take people from “interested in AI Safety” to actually working on it. I was a teaching assistant at the March 2025 Europe camp where I taught the sessions on AI Agents, Adversarial Attacks, and AI Safety strategy, and coached participants through the rest of the curriculum.
Because the atmosphere at a bootcamp is just as important as the curriculum, I also ran the social side, including a welcome event, a murder mystery, lightning talks, and a Scottish ceilidh.
Operations work lives in Word documents, Excel sheets, and PDFs, which AI agents cannot open from the command line. Readoc fills that gap with three CLIs: readoc extracts the contents of a .docx, .xlsx, or PDF as structured text, readir explores and searches whole folders of mixed documents, and editdoc makes targeted edits to Office files without mangling their formatting.
Point an agent at a shared drive full of policies, budgets, and reports, and it can finally do something useful with them.
I built it for my own operations work, where “can the agent read the document” turned out to be a surprisingly common blocker.
Left to their own devices, AI agents write Rails code like the average of the internet: fighting the framework instead of using it. Rails Toolkit is a set of Claude Code skills that encode modern Rails 8 conventions and my own project rules, so agent-written code comes out idiomatic: thin controllers, concern-based models, Solid Queue jobs, Stimulus controllers with modern JavaScript, Hotwire/Turbo patterns, and fixture-based tests.
It also includes some larger workflows: a full application audit that combines the individual skills into a severity-ranked health report for inherited codebases, a database performance review, and an upgrade analyser covering breaking changes from Rails 2.3 through 8.1.
I maintain Rails applications (including the administration system behind a 150-year-old theatre company), and this toolkit is how I keep AI agents productive on them without the code turning into a mess I have to untangle later.
Many small organisations run on Airtable, but it has no built-in tooling for the questions an admin needs to ask: what changed in this base since last month? Does our structure follow our own conventions? Who has access to what?
Airtable Utils answers those:
It also includes an agent skill for writing Airtable scripts (both scripting-extension and automation scripts) that encodes the API’s quirks and limits, like the 50-fetch ceiling in automations, so generated scripts are correct the first time.
These grew out of my CRM and database work for AI Safety organisations, where the Airtable base often is the institutional memory, and an unnoticed schema change quietly breaks something downstream.
Artwork from “Ethics Town” podcast
I compose music for theatre and other performance and narrative art.
Themes for audio fiction podcasts.
Short pieces I made for university assignments but did not develop into a full piece.
I wrote my dissertation on “Ancient Rock Music”: the sound stalactites make when hit by a rubber mallet. The project was inspired by a visit to Luray Caverns, Virginia, home of the “Great Stalacpipe Organ”: an instrument that plays the cave itself.
The work had three parts: a physical simulation of struck stalactites using finite-difference and modal methods (approximating them as cantilever bars of variable diameter, in Matlab), a field trip to record real stalactites, and a virtual instrument built in C++ with JUCE so anyone can play a cave from their Digital Audio Workstation.
Photo from “Mary: A Gig Theatre Show”. Credit: Carla Watson
I work as a freelance sound designer and general organiser in theatre. See also the theatre I did as a student.
Running a venue at the Edinburgh Fringe means welcoming hundreds of performances in a month, and having to turnaround between them in minutes. I’ve done it in several roles:
The Edinburgh Festival Fringe has around 3,500 shows. I used to read the programme cover-to-cover, but that still didn’t tell me much about the shows themselves and which ones I should really go see, so I built the tool I wanted instead: a chat interface where you can just ask the programme what you should go see.
Under the hood it’s a RAG pipeline which does semantic search over the festival data with ChromaDB vector storage, category filtering, and a FastAPI backend serving a React/TypeScript frontend.
ImpAmp is the soundboard Bedlam Theatre uses for live improv comedy, where a sound effect is only funny if you can find it before the performers move on. It supports multiple soundbanks, instant search, arming tracks, multiple sounds per pad, and Google Drive sync so you can share your soundbanks with the whole team.
This third version was also an experiment in AI-driven development: I built it in Next.js using Claude 3.7 Sonnet and Gemini 2.5 back when agentic AI coding was just a month old. It has been running real shows ever since.