Everybody posts the stack. The tidy diagram with arrows pointing at the happy path. Nobody posts the graveyard — the tools that got installed, fought back, and got taken out.
I’ve been running my own AI infrastructure for four months now. Two rented servers, a laptop, and a browser full of tabs. In that time I’ve put more than twenty open-source tools through it. The ones still running fit in one small table. The ones that didn’t would fill a page.
So here’s the page. One honest line each — still running at the top, never-installed at the bottom.
| Tool | What it was for | Verdict |
|---|---|---|
| Bifrost | The one door every AI request goes through | Running — replaced three gateways |
| Open WebUI | The chat window I actually open | Running — my front door, and a client’s |
| SearXNG | Free search for my agents | Running — ended per-query search bills |
| Glance | One screen of everything at a glance | Running — rebuilt twice, still on |
| Tuxedo | My task list, as plain text | Running — boring, and it reports the truth |
| Agent Zero | Always-on research agents in Docker | Running — one profile live |
| Qdrant | Vector database for search | Retired — a question I’d stopped asking |
| Syncthing | File sync between machines | Retired — then killed again by my own cleanup script |
| LibreChat | A second chat console | Retired — five containers to say hello |
| AnythingLLM | Document question-and-answer | Retired — never missed it |
| SilverBullet | Notes vault for job output | Retired — output moved to Notion |
| Nexterm | Server management in a browser | Deployed, audited, torn down — the file manager never appeared |
| CLIProxyAPI | A thin proxy in front of providers | Shut down June 18 — one gateway was enough |
| OmniRoute | Gateway plus a metrics dashboard | Shut down June 18 — 483MB for a 107MB job |
| Pipecat | Voice agent, built from scratch | Paused — browser and server never agreed on audio |
| browser-use | An AI that clicks around a browser | Killed — hung on my server’s chip |
| LiteLLM | The gateway everyone recommends | Rejected — a poisoned update shipped in March |
| OpenHands | Autonomous coding agent | Rejected — 2GB of Docker per task, for cheap jobs at least |
| AppFlowy | An open Notion-style workspace | Never installed — one workspace is enough |
| Incognide | Desktop AI workspace | Never installed — single-user only |
| 9Router | An earlier multi-provider router | Never installed — its own fork beat it |
Twenty-one tools went in. Six are still running.
The deployed list is the small one, and it got smaller by subtraction, not by shopping. Three gateways became one. Two chat consoles became one. A vector database turned out to be answering a question I’d stopped asking — I search my notes with plain keyword matching, which is boring, works offline, and can’t invent a match that isn’t in the file.
Some of these are genuinely good software. Nexterm passed a full security audit — no telemetry, clean licence, proper two-factor support. Then I spent an evening looking for a file manager that the documentation promised and the interface didn’t have. Deployed, audited, removed, all in one sitting. Good tool, wrong evening.
Some of them I killed twice. Syncthing got retired when I moved servers. Weeks later I wrote a cleanup script that identified it as junk and removed it again — right before a later plan called for exactly that tool. The lesson wasn’t about Syncthing. It was that I was deleting things before asking what owned them.
The most important group is the last one: the tools that never got installed at all. The gateway everyone recommends lost that race in March, when attackers slipped poisoned versions onto the public package registry and harvested environment variables, SSH keys, and cloud credentials from anyone who installed during the window. I wasn’t in that window. That decision took ten minutes and cost me nothing. The coding agent that wanted two gigabytes of Docker per small task didn’t get that job either — I read how it worked before I read its feature list, which is a habit I’d recommend to anyone who owns a server.
Every tool I rejected saved me a weekend. Every tool I removed handed back memory on a server I pay for by the month. A graveyard isn’t a list of failures — it’s what judgement looks like after the fact. And the reason the running list stays short is that the graveyard keeps getting longer.
The stack is the highlight reel. The graveyard is the résumé.