aipat.ch· patching the gaps in AI
aipat.ch · /n./
ai patch /ˈeɪ paʧ/ noun
1.A small set of tools and habits that patch areas where AI makes mistakes when developing software.
2.(humorous) An eyepatch worn by a robot of generally cheerful disposition.
3.(etymology) A domain pun a person was clearly determined to register.

This site is how I patch the gaps to deliver working AI-developed software, and some of the things I've made. I'm in the process of open-sourcing the tools too, so you can give this way of working a try.

§ 01

The practice.

AI writes a lot of code, very fast, and can make some mistakes along the way. That part is fine. Software teams have been catching wrong code for decades with tests, specs, shared knowledge, and decent ways of talking to each other. The tools below are how I gave AI the same scaffolding.

If you'd rather start with seeing some things I've made with this methodology, go here →

  1. Doable task queues, one column per bot Doable
    01 A team needs to coordinate.

    Doable

    Doable is a task list, one queue per bot. When the Claude on roamPlay needs roadTerm to fix something, it raises a task on roadTerm's queue rather than reaching across and patching the other project itself. Each task runs in its own git worktree, so two or three bits of work can land on the same project in parallel without treading on each other. I also have a task list there, so when a Claude needs something from me, like something done as root, or actions outside of the server, it can ask me.

  2. vncPool virtual desktop sessions vncPool + adbPool
    02 A team needs to test its own work.

    vncPool + adbPool

    Headless tests miss the failures that actually matter. vncPool gives a Claude a real Linux desktop with a real browser inside it, so it can drive the feature, watch the result, and hand the desktop back when done. Reading what is on screen is its own problem, since the screenshots Claude gets back are low resolution, so there is an OCR tool and a zoom tool sat on top. adbPool is the Android sibling, a pool of emulators so several bots can test mobile apps at once without queueing on a single device, and without a Claude reaching for my actual phone, which used to happen.

  3. Quality scan dashboard with per-project findings Quality
    03 A team needs to keep the codebase tidy.

    Quality

    With a bit of coaxing, AI writes good code. Qual is the service in the system that enables this. It scans each project for the things worth catching early: secrets and credentials sat in the wrong place, basic security issues, god classes and oversized modules, structure that will be a pain to work with later. The findings go back to the bot that wrote the code so the first cleanup pass happens on its own. By the time I'm reading, the obvious stuff has already been dealt with.

  4. docVault shared knowledge base docVault
    04 A team needs a shared rule book.

    docVault

    docVault is a shared wiki any AI on the server can read and write to. Claude is not the only one running on hp. Codex, OpenCode and a handful of others all reach for the same docVault. The rule book lives there: how to set up a new project, how to register a backup, how to write a test that actually proves something. Situational guidance lives there too, the stuff I don't want in every prompt but do want pulled in on demand. When one of the AIs learns something the others would benefit from, it writes the lesson onto the right page, and from then on every bot picks it up. Each AI on the server starts with a default system prompt that points at docVault as the source of truth for the rest.

  5. Lore conversation archive with semantic search Lore
    05 A team needs to remember.

    Lore

    Every conversation I have with an AI, Claude, Codex, OpenCode, anything, gets ingested into Lore and made semantically searchable. When I half-remember a discussion from three weeks ago and can't find which project or session it happened in, I ask Lore. Lore almost always finds it, I drop the session ID into the relevant tool, and I'm straight back where I left off. Bots reach for Lore over MCP. When one starts work on something it has seen before, it can search the archive itself and pull back the context instead of asking me to recap.

  6. roadTerm persistent terminal sessions roadTerm
    06 A team needs to talk to humans.

    roadTerm

    roadTerm is my terminal. Each Claude session lives in there, persistent across devices. I start something on the desktop at home, carry on from my phone on the train, and pick it back up on the laptop in the office. Same session, same open files, same bot still on the case. The other thing I lean on more than I expected is voice. Most of the time I'm not typing at Claude, I'm dictating into roadTerm and letting Whisper turn it into the prompt. Long thoughts come out faster that way, and Claude is good enough at distilling them into a plan I can push back on.

  7. 07 The human in the loop.

    My part in it

    AI does the typing, I do the steering. With this much code being written I'm not reading every line, but I read the parts that decide whether the system behaves: inputs and outputs, the shape of a Docker container, where secrets sit, the seams between services. Quality covers what I used to scan for by hand, so when I do read code I'm reading for judgement and direction rather than for typos. A fuller write-up of how this side of it actually works in practice is on its way.

§ 02

A few highlights.

Three projects that show the practice working end-to-end. Watching, remembering, shipping.

roadTerm supervised terminal
RDT · 04 In progress
roadTerm
roadTerm is my terminal. It is a nicer version of tmux with a bit of central coordination on top. Start a session at home, carry on from my phone on the train, pick it back up on my laptop when I arrive. Same session, wherever I am. Claude and the other tools I run stay where I left them.
go · pty · websocket More detail →
docVault document browser
DVT · 03 In progress
docVault
docVault is a shared knowledge base that every AI on my server can read and contribute to. When a default prompt isn't the right place for something, it goes here instead. If Claude keeps making the same mistake, I have it write the learning into docVault and every bot on the server picks it up.
fastify · mcp · postgres More detail →
roamPlay media player
RMP · 16 Internal
roamPlay
roamPlay is my own music player, running on my TV computer, my laptop, my desktop, and my phone. All the devices stay in sync, so if I am listening somewhere and need to switch, the next device carries on from the same spot. The mobile client caches and downloads tracks for when I am offline, which matters on trains.
flutter · fastify · postgres More detail →
Browse all 30 projects →
§ 03

Recent notes.

All notes →
23 Apr 2026 INTRO
About this site.
Why this site exists, and how to get in touch.

Say hello.

If you want to talk about working this way, building a system together, or a role doing more of this kind of work — email is fastest, LinkedIn works too. I'm based near Zürich, time-zone flexible, and genuinely up for an interesting conversation.