Three months ago I cancelled every AI coding subscription. Not as a protest — as an experiment. Could a fully local stack actually replace the $10-20/month tools for daily work?
The stack: Ollama (model runtime) + Continue (VS Code/JetBrains assistant) + Tabby (self-hosted completion server). Total monthly cost: $0. Total setup time: one evening.
The Numbers
| Paid stack (before) | Local stack (now) | |
|---|---|---|
| Cost | $10-20/mo per seat | $0 |
| Code leaves my machine | Yes | Never |
| Works offline | No | Yes (planes, trains, dead wifi) |
| Autocomplete latency | 300-600ms (network) | 80-150ms (local) |
| Chat quality (coding) | Frontier models | 7B-class local models |
| Hardware needed | None | GPU or Apple Silicon, 16GB+ RAM |
Honest scorecard: I win on cost, privacy, and latency. I lose on raw chat intelligence for hard architectural questions. That's the real trade — anyone who says otherwise is selling something.
What Each Piece Does
Ollama — the engine. One command per model:
ollama pull qwen2.5-coder:7b # my daily driver for autocomplete + chat
ollama pull deepseek-coder-v2:16k # heavier lifting, needs more VRAM
ollama serve # localhost:11434, OpenAI-compatible API
Continue — the chat/edit layer in your editor. Point it at Ollama in ~/.continue/config.json:
{
"models": [
{
"title": "Local Coder",
"provider": "ollama",
"model": "qwen2.5-coder:7b"
}
],
"tabAutocompleteModel": {
"title": "Tabby",
"provider": "openai",
"apiBase": "http://localhost:8080/v1",
"model": "tabby"
}
}
Tabby — the autocomplete server. This is the Copilot replacement. It does sub-150ms fill-in-the-middle completions, self-hosted:
docker run -d --gpus all -p 8080:8080 \
-v $HOME/.tabby:/data \
tabbyml/tabby serve --model Qwen2.5-Coder-1.5B --device cuda
(Apple Silicon: ollama alone handles autocomplete fine through Continue — Tabby is optional.)
3 Months of Honest Data
- Acceptance rate on completions: 31% (vs ~38% I measured with the paid tool — real but smaller gap than expected)
- Chat sessions/day: ~15, mostly "explain this function" and "write the test for this" — 7B models handle these fine
- Where local still fails: multi-file refactors, obscure framework errors, anything needing 2025+ knowledge the model didn't train on
- Money saved: ~$60/seat over 3 months, and my code has never touched an external API
The controversial part: for 80% of daily coding assistance, you don't need a frontier model. You need fast, private, and good enough. The last 20% — genuinely hard problems — is where I still open a browser.
I keep the whole stack glued together with MonkeyCode — open-source, free quota, and it talks to the same local Ollama endpoint: https://ly.cyberserval.tech/iIETXiF
Have you tried going fully local? What broke first — the models, or your patience?
Top comments (0)