Choosing the right tool for the job
There are hundreds of good, self-hosted tools for any one job — and almost none of them wear a label saying "pick me." The hard part of building your own stack isn't the deploying. It's the choosing. One wrong pick and you're six months into a tool that wants a different database than you gave it.
Here's the system I use, plus the head-to-heads I found myself running. It's not exhaustive — it's a way of thinking that works.
The method: decide the job first
Before comparing tools, I write one sentence: what am I actually trying to get done? Every tool gets judged against that, not against a feature list. "Chat with my documents" and "run a full AI assistant for my team" look similar and are completely different jobs — they lead to different picks.
Head-to-head: chat with your own documents
| AnythingLLM | RAGflow | PrivateGPT | |
|---|---|---|---|
| Easiest to start | ✓ | ✓ | |
| Deep document parsing | ✓ | ||
| Privacy story | ✓ | ||
| Production-ready | ✓ |
If I just want to talk to my files quickly, AnythingLLM. If the documents are messy — PDFs with odd tables and layouts — RAGflow earns its keep. If the whole point is that nothing leaves my machine, PrivateGPT.
Head-to-head: build an agent without being a developer
| Flowise | Langflow | n8n | |
|---|---|---|---|
| Simplest on-ramp | ✓ | ||
| Most control | ✓ | ✓ | |
| Automation, not just AI | ✓ |
Flowise gets you an agent fastest. Langflow if you want more surface area. But n8n is the one I'd install if I only installed one thing — it's not just agents, it's the glue for everything else.
The rule that saves me
Pick one winner per job. The dashboard you open twice a year is maintenance debt, not infrastructure.
Every tool you run is a service you maintain and a port you keep warm. The right stack isn't the biggest one — it's the smallest one that does its job well.
This fits into the bigger question of whether you should own your stack at all — and once you own it, what to do when the tool starts doing the work.