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 job. More about this side of me →
I build the infrastructure for AI Safety organisations to manage their contacts, program participants, alumni and donors while automating as much as possible
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 →
I build the infrastructure for AI Safety organisations to manage their contacts, program participants, alumni and donors while automating as much as possible
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
I build the infrastructure for AI Safety organisations to manage their contacts, program participants, alumni and donors while automating as much as possible
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.
Sometimes your agent needs to read or write to a Word doc or Excel spreadsheet. By default, it will have to wrangle some Python to do so, so why not make its life a bit easier? Readoc provides 3 different 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 easily do something useful with them.
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 following my interpretation of the Rails way: 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 a few vendored skills, including an upgrade analyser covering breaking changes from Rails 2.3 through 8.1 and a skill to finally get your test output to not include unnecessary logs.
Many small organisations run on Airtable, but Airtable has no built-in tools that you need once your bases start to grow. Airtable Utils provides these:
It also includes an agent skill for writing Airtable scripts (both scripting-extension and automation scripts) that encodes the API’s quirks and limits to reduce the otherwise slow and manual iteration process.
These grew out of my CRM and database work for AI Safety organisations, where the Airtable base often is most of the institutional memory and heavily used and updated.
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 change between them in minutes. I’ve been there 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 contains many improvements over the previous versions developed by the previous generation of IT, and 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 few months old. It has been used to run shows ever since.