I build AI tools and other software, working with AI coding agents, and run them on my own server. Almost everything below was built this year. By day, I lead a risk and controls team at Citi.
I lead the team that checks how well one of Citi's global businesses manages its risks, working for the teams that own those risks. Before that, I ran the programme that set this up. It's also how I build AI: the rules that matter are enforced by the software itself, not just written into the AI's instructions, and I test them by trying to break them.
tap any project to see it
A mining game you play in the browser, where every pixel is a real grain of sand, drop of water or lump of rock that falls, flows and burns. Your lander has crashed, and to fly home you dig down through five layers of the world for what its repairs need.
Nothing in it is scenery. Water finds its own level, gas gathers in pockets and explodes if you bring a flame near it, lava turns sand into glass, and every furnace, drill and power line you build is paid for with what you dug out of the ground. It has real-time lighting, music generated as you play, and an ending. About 14,000 lines of plain JavaScript with no libraries, checked by 136 automated tests that play whole games in seconds. It needs a keyboard and mouse.
An AI assistant that helps someone who has been tricked into sending money to a scammer claim it back from their bank. It checks who they are, finds the payments, records the claim and tells them what happens next. The bank and its customers are made up, and you can talk to it as one of them.
Banks want AI that can talk to customers, but they can't let it make promises about money. Here the AI only holds the conversation. Whether a claim is covered, for how much and by when is decided by ordinary code that follows the regulator's rules, and every message is checked before the customer sees it. That makes it something a bank could test and trust. It has been tried in hundreds of conversations with simulated customers, including some trying to trick it.
I file a task from my phone and an AI coding agent on my server works on it unattended, then reports back or hands me its code as a draft. If it gets stuck, it asks me a question and I answer from the phone.
Nobody is watching while it works, so the limits are built into the setup rather than left to the AI. It can't see passwords and can only change its own copy of the code, and nothing it writes goes into the main code until I've checked it. Its control panel can only be reached on a private network I set up between my devices and the server, and because the AI reads pages from the internet, the server can't reach back into my laptop or phone. I tested each limit by trying to break it.
Checks the paperwork a bank receives when it pays for goods under a letter of credit, a common way to pay in international trade, and decides whether the documents can be accepted or must be refused.
This checking is slow, specialist work, and a bank that refuses too late loses the right to refuse at all. Every problem it finds points to the exact document and field, and names the international rule it breaks, so a person can see exactly why. It also keeps track of the five working days a bank has to refuse.
Turns a photo of a piece of furniture into a CAD block, the scale drawing that architects and interior designers place in their plans. It draws the piece from above, from the front and from the side at its real size, in a file that opens in AutoCAD, Revit and SketchUp.
When a maker doesn't publish a drawing of a piece, the designer has to draw one or use a generic one. Here the AI reads the photo and suggests the shapes, then ordinary code fits the drawing exactly to the size the designer gives, so the measurements come from the designer and not from the AI's guess. The AI then compares a picture of its drawing with the photo and corrects what it got wrong. Built with a working interior designer, and live since 4 October 2026.
Works out what a humanoid robot really costs to own over its life, not just its price, without favouring any manufacturer.
Every cost figure comes with its source, so a buyer can check the numbers rather than take them on trust, and decide whether a robot would pay for itself.
A bot that enters Metaculus tournaments, where bots compete to predict real‑world events. For each question it searches the web, asks five AI models for a forecast, and submits the middle answer with its reasoning.
Taking the middle of several independent forecasts is usually more accurate than trusting any one of them. In its first tournament its average score per question was the highest on the leaderboard. It only answered 10 of the 58 questions, so it finished 27th of 182, and ten questions is a small sample, but it was a strong start. It now checks for new questions every twenty minutes.
A GitHub bot that remembers promises developers make in code review, like "I'll add retry handling later", and speaks up when a later change touches that code without keeping the promise.
Those promises are easy to make and easy to forget, and that's how small problems pile up in a codebase. It only files a reminder once a person gives it a thumbs‑up, so it doesn't nag. Built on my own in a day at my first hackathon, run by AI Tinkerers on 12 September 2026.
An AI relationship coach for couples, with a private chat for each partner, sessions together, and a question for the day.
Built with safety first, because people bring hard things to a coach. Every message is checked for signs of crisis before the AI replies, each couple's conversations are encrypted separately, and no message is ever kept in the logs.
A workout tracker I've used since March 2026. Three of us use it now, each with our own copy.
It's easy to lift the same weights week after week without noticing. This pushes you on: lift the same weight twice and it suggests the smallest step up your equipment allows.
The website for The Home Reform, a London interior design studio, moved off Squarespace onto a site built for it.
A live site for a real business. The studio's designer, who doesn't write code, can work on it safely, with the live site protected from accidental changes.
An app for running a fines court on a stag do: anyone can bring a charge, the group votes on how serious it is, and the best man gives the verdict. There's a version for a golf four‑ball too.
Used by real groups, which is a tougher test than any demo. In the golf version the fine passes to whoever slipped up most recently.