Self-Hosted AI Server & Agents
An always-on home server that runs local LLMs, AI agents and my own apps, all on hardware I control.
Why I Built It: I wanted hands-on experience running capable AI privately, end to end: the hardware, model serving, agents, networking, and the day-to-day operations work of keeping it all running. It now hosts my local models, my agents, Finance AI Copilot and a personal productivity app.
Hardware
- Compact always-on server: AMD Ryzen AI Max+ 395 with Radeon 8060S graphics and unified memory shared between CPU and GPU, running headless Ubuntu.
- Unified memory: system RAM is shared with the GPU, so a 35-billion-parameter model fits entirely in memory.
Model Serving
- LM Studio serves Qwen3.6-35B-A3B, a mixture-of-experts model, at about 65 tokens per second, with Gemma 4 31B for some agent paths.
- One large model resident at a time: a deliberate rule that keeps memory predictable and stops models from evicting each other mid-run.
- Long context: a 262K-token window for document-heavy work and remote coding.
Agents & Automation
- Four-agent automation pipeline: planner, responder, auditor and memory agents that bridge Discord to the Claude Code CLI, with a config-driven skills loader.
- Always-on assistant agent: runs in Discord on the local model, with a single front-door channel and per-tool call limits as guardrails.
Apps & Services
- Life OS: a personal capture and productivity app I built with Next.js, Prisma and SQLite, with an inbox, notes, buckets, a focus engine, video notes and an email-watch agent for Gmail.
- Private search and alerts: self-hosted SearXNG for search and ntfy for push notifications.
- Networking: Docker services across a four-machine Tailscale mesh, so every device reaches the server privately.
- Remote development: VS Code over the tailnet, with local coding models through Roo Code.
What's Next
A six-phase build plan to turn the stack into one coherent assistant: a hardened foundation, a guarded gateway in front of every agent, a structured model of goals and commitments, one unified memory with citations, follow-through on commitments, and a proper interface with evals.
Ubuntu Server
LM Studio
Qwen3.6-35B-A3B
Gemma 4
Claude Code
Multi-Agent Orchestration
Docker
Tailscale
Next.js & Prisma
SQLite
SearXNG
Discord Bots