Software engineer and writer
Building Mindforge
: AI agents with personality
that play and chat with you over WebRTC, WebSockets, or a fully OpenAI-compatible REST API. Watch early tests of my AI characters in Minecraft:
I've been doing small freelance projects through everything.fyi
, creating websites and AI tools for startups across healthcare, fashion, retail, and entertainment. 100% 5-star reviews so far.
I created SeatJSON
, a universal JSON format for seating layouts (designed for theatres but can in theory be used for anything).
I joined glif
to work on GlifChat. Initially three of us were building a platform
for playing
with agents
. The models improved and the creative agent has since become the company's core product. Across the Agents and Chat Experience teams, I opened 399 PRs in 16 months. I worked on chat
UI
, the bot creation flow (including text-to-agent), and the skills system. I also added over 20 new LLMs to the platform, including GPT-5
and GPT-1
, and Kimi K2
, and worked across the admin and user dashboards
stuff like this, the subscription flow
, and even the `/brand` page
.
I started trading AI domains. Current portfolio: label.ai, overdub.ai, ghostlight.ai, keyring.ai, granita.ai, mediary.ai, smartmob.ai, tofrom.ai.
I founded Mindforge
, a platform for creating characterful AI agents and humanlike NPCs. Watch an AI agent play Minecraft (from August 2024):
I built AudioTranscriber.ai
, a pay-as-you-go transcription tool for long audio files with speaker detection and support for 90+ languages.
I was the first engineer hired at AlpacaML
, an art tool
for artists
. Alpaca began as a Photoshop plugin
based on Stable Diffusion and became a webapp where artists could generate
, inpaint
, and sketch
with custom ControlNets, and create their own models. We scaled from 5k to 170k users. I owned the entire model training flow
, a Dreambooth fine-tuning pipeline for both SD 1.5 and SDXL, plus the frontend to match, and a tournament system for choosing the best checkpoint
. I also designed our Postgres database
and managed the migration from DynamoDB. I worked heavily on the inference processors
and regularly took research techniques like concept sliders
, zero terminal SNR, and early stopping, into production
. I also worked on the Photoshop plugin, Stripe billing, analytics, and storage auto-cleanup. Alpaca was acquired by Captions (now Mirage) in November 2024.
I became the lead organiser of BathML
, a machine learning meetup in Bath with 700 members. I gave a talk on whether GPT will take your job
, and another on self-attention
.
I co-founded DreamboothAPI
, an API for finetuning Stable Diffusion with Dreambooth
(and creating avatars). All served on Coreweave GPUs and capable of scaling to over 10,000 simultaneous finetunes. I trained a lot of models and for a while we had the best resemblance
parameters in the business, with customers like Photogenic.ai.
I made a page about the oncoming AI revolution called paperclips.ai
.
I launched Minds Almost Meeting
, a podcast between economist Robin Hanson and philosopher Agnes Callard. I have since produced 11 seasons, designing cover art, editing and mastering the audio, and publishing episodes. I was a guest on two episodes:
I joined Mystic AI (YC W21) as employee #3, back when the company was called Neuro AI
. Like a precursor to FAL or Modal, we were building an API for generic ML compute
. I was a wildcard engineer: deploying models
, developing websites, managing servers (we had an on-prem GPU farm), writing docs, sorting through candidates, designing adverts
, and running demos. 1,200+ commits across 30+ repositories in 19 months. I single-handedly wrote and deployed every public inference endpoint
on our API, becoming one of the first in the market to help companies use open-source models
like GPT-J
in production. I worked on the Model Hub and the Pipeline dashboard from the first commit. As my own marketing play, I created playgrounds.ai
, a free inference UI for generative models like DALL·E Mini. From GPU allocation in Python to Kubernetes infra handling, from figuring out CUDA kernels and quantisation to implementing DeepSpeed, I worked on everything, while being the main point of contact for all users too. Additionally, I wrote our docs, newsletters, and emails (and I built custom platforms for managing them all). I started partnerships between Mystic and EleutherAI, The Eye, PhilPapers, and Georgia Tech.
I built the website for Grabby Aliens
, a scientific model suggesting the existence of expanding alien civilisations.
I joined DocSpring
, a PDF-over-API startup, as their Developer Advocate and only employee. I was the main technical support contact for all users. I also rebuilt the docs website, and wrote up a customer management workflow for future support agents.
Selected (with three others) from 600 applicants to present the all new Polestar 2 at the company's first UK showroom in Westfield London.
Aged 19, I got a job at Tesla and completed all the training. But then Covid arrived and I was too new to be furloughed, so it ended before it really began.
I sold West End theatre tickets from the official red booth in the center of Leicester Square.
I was a stage manager at the Bloomsbury Theatre and on shows across London, including From Here to Eternity, Sweeney Todd, Songs for a New World, and Legally Blonde. I was also a committee member and publicity designer for UCL Musical Theatre Society, creating posters for [title of show]
, American Idiot
, and other events
.
Started studying for my English BA at UCL (2018–2021).
I volunteered at Theatre Royal Bath as an ASM on Legacy, a play performed in and across two theatres simultaneously.
I created a theatre blog called Playhouse.press. My team of ten recruits and I reviewed
shows, shared industry news
, and interviewed
West End stars.
In the summer, I helped filmmakers from CBS Reality produce twelve television trailers starring the journalist Donal MacIntyre.