7 AI Agents I Run on a $600 Mini-PC for $18/mo

Most solo founders I talk to pay $300-$500/month for a stack of SaaS tools that overlap by 60%. Zapier for plumbing, Lindy or Relay for agents, a CRM for follow-ups, an invoicing tool, a PR bot, a newsletter aggregator. I run all of that from a mini-PC on a shelf in my apartment for $18/month in Claude API calls. Here's the exact stack, the seven agents that ride on top of it, and the numbers each one produces.
The box: $600 once, then $18/month forever
The hardware is a small-form-factor mini-PC I paid about $600 for — 32GB RAM, 1TB NVMe, a modern low-power CPU. Nothing exotic. It runs Windows on the metal and Ubuntu inside WSL2, because I want the Linux tooling without dual-booting my daily driver. On top of that:
- n8n (self-hosted, Docker) — the orchestrator. Every agent is a workflow triggered on a cron, a webhook, or a Telegram command.
- Claude API — the reasoning layer. Every agent that needs to classify, draft, or summarize hits Anthropic's API.
- Telegram Bot API — the interface. One chat app on my phone talks to all seven agents. No dashboards, no browser tabs.
The Docker compose that starts the whole thing is 40 lines:
services:
n8n:
image: n8nio/n8n:latest
restart: unless-stopped
ports:
- "5678:5678"
environment:
- N8N_HOST=localhost
- N8N_PROTOCOL=http
- GENERIC_TIMEZONE=America/New_York
- N8N_ENCRYPTION_KEY=${N8N_KEY}
volumes:
- ./n8n_data:/home/node/.n8n
- ./files:/files
That's the entire infrastructure. n8n is free when you host it yourself. Telegram is free. The mini-PC pulls maybe 15W idle, so electricity is a rounding error. The only recurring bill is Claude API usage, which for the last three months has averaged $17.80/mo across all seven agents combined.
Why so cheap? Because I use Claude Haiku for classification and enrichment (cheap, fast), and only escalate to Sonnet for anything that needs actual reasoning — draft emails, PR reviews, weekly summaries. About 85% of my calls are Haiku.
Agent 1: Inbox Chief — 120 emails in, 12 out
Every morning at 7:00 AM, n8n fires a workflow that pulls unread Gmail via the Google API, hands each message to Claude with a classification prompt, and drops the result into four buckets: client, lead, invoice-related, noise. Noise gets auto-archived. Client messages get a suggested reply drafted underneath. The whole thing arrives as one Telegram message before I've had coffee.
Real numbers from last month: average 118 emails processed per day, I read 11 of them. The classification prompt is 200 tokens, the average email is 400 tokens in, 150 tokens summary out. At Haiku pricing that's roughly $0.0004 per email, or about $1.40/month for this agent alone.
The prompt structure I use:
You are triaging email for a solo operator.
Return JSON: {bucket, priority, one_line_summary, suggested_reply?}
Buckets:
- client: existing paying customer
- lead: prospect or inbound inquiry
- invoice: payment, receipt, or financial
- noise: newsletters, notifications, cold outreach
Draft suggested_reply ONLY for bucket=client with priority=high.
The trick that made this actually usable: I keep a whitelist.json of email addresses that always bypass classification (my accountant, key clients, my mom). Never trust an LLM with 100% of your triage.
Agent 2: Lead Hunter — 40 pre-written drafts/week, zero sends
This one runs three times a day. It hits a list of sources I've whitelisted — industry directories, specific subreddits, job boards where my ICP posts, a few LinkedIn feeds via a scraping API — pulls new entries, enriches each one with a quick web lookup (company size, tech stack, recent news), and drafts a personalized first-touch email.
It does not send. That's deliberate. Drafts land in a Telegram queue with inline buttons: Approve / Kill / Edit. Approve routes the draft through my normal Gmail via SMTP so it inherits my sender reputation and doesn't trip spam filters. Kill discards it. Edit opens the draft in a follow-up message I can reply to.
Over 12 weeks: 487 drafts generated, 312 approved and sent, 41 replies, 9 discovery calls booked. That's a 13% reply rate on cold outbound, which is well above industry norms — because every draft references something specific from the enrichment step ("saw you just hired two BDRs" beats "hope this finds you well").
Agent 3: Invoicing — 15 minutes to 15 seconds
I send one Telegram message: /invoice AcmeCorp $4200 "Q1 automation build". The agent generates the invoice PDF, applies the correct tax treatment for my jurisdiction, emails the PDF to the client's billing contact, and files a copy in the right Google Drive folder named by client and quarter.
This is the agent I always highlight when someone asks "what can't SaaS do for me?" Generic invoicing tools don't understand the quirks of every country's VAT rules, reverse-charge mechanics, or the specific layout your accountant needs to import cleanly. When you own the code, you fix it in an afternoon. When you rent the SaaS, you file a feature request and wait forever.
The layout is a simple HTML template rendered to PDF with weasyprint, tax logic is a 60-line Python module, and the whole workflow is one n8n node calling a local script. Total build time: about 6 hours. Total time saved: ~1 hour per week, forever.
Agent 4: Follow-Up Bot — days-to-payment 31 → 19
The Follow-Up Bot watches the invoice folder that Agent 3 writes to. Each invoice has a due date. Cron runs daily and checks:
- Day 14 unpaid: friendly nudge, cheerful tone, "just floating this back up"
- Day 21 unpaid: firmer, references the original due date explicitly
- Day 30 unpaid: pings me on Telegram, no auto-email — I handle it personally
Three months of running it, my average days-to-payment dropped from 31 to 19. That's a 39% reduction in collection time with zero mental effort on my part. For a solo business where cash flow is oxygen, that alone is worth more than the entire stack.
The reason it works isn't the AI — it's the discipline of always sending on day 14. Humans forget. Cron doesn't.
Agent 5: PR Reviewer — first-pass review in 90 seconds
If you ship code, you know the loop: PR opens, you're mid-flow on something else, it sits for two days, momentum dies. This agent subscribes to my GitHub webhooks. Every new PR triggers a workflow that:
- Fetches the diff via the GitHub API
- Loads a
conventions.mdfile from the repo root - Asks Claude Sonnet: "Review this diff against these conventions. Flag missing tests, error handling gaps, unused imports, and inconsistencies with the existing codebase."
- Posts the review as a PR comment via the GitHub API
The conventions.md file is where the leverage is. Mine is 80 lines: naming conventions, error handling patterns, test coverage expectations, banned imports. The review isn't smarter than me — it's just faster and never forgets. When I open the PR, half the boring work is done and I'm making judgment calls, not spotting typos.
Agent 6: Content Radar — 45 min doom-scroll → 2 min skim
Every evening at 6:00 PM, one Telegram message: the ten things worth knowing today, one line each, with a link. Sources: Hacker News top 30, a curated list of ~40 X accounts, and 8 YouTube channels via their RSS feeds.
The pipeline:
fetch sources → dedupe → score by relevance to my interests
→ pick top 10 → summarize each in one line → Telegram
Scoring uses a simple prompt: "Rate 0-10 how relevant this is to a solo founder building AI automation for SMBs." Anything scoring 7+ makes the cut. The agent also has a watchlist.txt of competitor names and tools I'm tracking — anything matching gets flagged with a 🔔 so I never miss a launch.
I used to spend 40+ minutes a day scrolling to feel current. Now it's a 2-minute skim while the espresso pulls.
Agent 7: Weekly Ops Report — the meta agent
Every Monday at 8:00 AM, this one queries the logs of the other six and builds a single Telegram message:
Week of Nov 17 Emails triaged: 743 (12% required attention) Leads drafted: 131 · Approved: 84 · Replies: 11 Invoices sent: 22 · Overdue flagged: 3 PRs reviewed: 7 Links surfaced: 70 · Watchlist hits: 4
I read it in 30 seconds and I know exactly where the business stands before my first meeting. This one costs about $0.20/month to run — one Sonnet call per week.
The real cost comparison
Here's what the equivalent commercial stack runs, roughly:
| Function | Commercial equivalent | Monthly cost |
|---|---|---|
| Inbox triage + drafts | Lindy / Superhuman AI | $50-$120 |
| Lead scraping + enrichment | Apollo + Clay | $99-$200 |
| Workflow plumbing | Zapier / Make | $50-$100 |
| Invoicing SaaS | FreshBooks / QuickBooks | $30-$60 |
| PR review bot | CodeRabbit / Graphite | $30-$50 |
| News aggregator | Feedly Pro + Refind | $15-$25 |
| Total | $274-$555/mo |
My setup: $600 hardware once, $18/month recurring. Payback vs. the low end of that range is about 2.5 months. Vs. the high end, under 6 weeks.
That's not counting the compounding cost: every SaaS you add pulls you deeper into their pricing tier ladder. Every self-hosted agent I add costs me maybe $2-4/month more in API calls, and that's it.
What breaks and what I'd do differently
Honest about failures: n8n has crashed on me twice in a year, both times because I let disk fill up with old execution logs. Fix: a nightly cron that prunes anything older than 14 days. The Lead Hunter has drafted embarrassing emails twice — once addressing someone by their company name, once referencing a "recent" article from 2019. Fix: I added a sanity-check step that flags drafts where the enrichment data is thin or contradictory.
If I were starting today, I'd skip WSL and run Ubuntu bare-metal on the mini-PC. WSL works but adds a networking layer you'll fight eventually. And I'd put the whole thing behind Tailscale from day one so I can access n8n from anywhere without exposing ports.
Where bizflowai.io fits in
This is exactly the kind of stack I build for clients week to week at bizflowai.io — custom agent workflows on infrastructure they own, wired into whatever they already use (Gmail, HubSpot, QuickBooks, GitHub, Slack). The pattern is always the same: one orchestrator, one LLM provider, one messaging interface, and a handful of well-scoped agents that each do one job well. No 12-app SaaS zoo, no per-seat pricing that punishes growth.
Start with one agent, not seven
If you're reading this and thinking about building your own version: don't try to ship all seven at once. Pick the single most painful workflow in your week — for most solo operators that's inbox triage — and build only that. Get it stable for two weeks. Then add the next one. That's how I built this stack, and it's the only way I've seen anyone actually finish.
Want more like this?
I publish practical AI automation, GenAI engineering, and faceless content workflows on YouTube every week.
Subscribe to bizflowai.io on YouTube — never miss a new tutorial.
Planning an AI automation project or need a second opinion on your architecture?
Connect with me on LinkedIn — Lazar Milicevic, GenAI Engineer & bizflowai.io Founder.
Visit bizflowai.io for our services, case studies, and AI consulting.
Frequently asked questions
What is the seven-agent Telegram automation setup?
It's a personal automation stack running on a ~600 euro mini-PC using Ubuntu inside WSL, with n8n as the workflow orchestrator, Claude's API for reasoning, and Telegram as the single interface. Seven specialized agents handle email triage, lead generation, invoicing, payment follow-ups, PR reviews, content curation, and weekly reporting. Total operating cost is about $18 per month in Claude API calls, with no SaaS subscriptions.
How does the Inbox Chief agent handle daily email?
The Inbox Chief runs every morning at 7 a.m., pulling unread Gmail and classifying each message into four buckets: client, lead, invoice-related, or noise. It sends one Telegram summary with drafted replies for client messages and auto-archives noise. On a typical day it processes around 120 emails, leaving only about 12 for the user to read, saving roughly 90 minutes daily.
Why does custom automation beat SaaS for invoicing?
Generic SaaS tools won't build country-specific tax logic because local quirks aren't on their roadmap. The invoicing agent in this setup handles Serbian tax formatting, VAT rules, and the exact PDF layout local accountants require. The user sends one Telegram message with client name, amount, and service, and the agent generates, emails, and files the invoice, reducing a 15-minute task to 15 seconds.
How much can automated payment follow-ups improve cash flow?
The Follow-Up Bot monitors invoices and sends escalating reminders: a friendly nudge at day 14 unpaid, a firmer message at day 21, and a personal alert to the user at day 30. After three months of use, the average days-to-payment dropped from 31 to 19 — a 12-day improvement in cash flow achieved without manually remembering to send any reminders.
When should I use an AI PR reviewer versus manual code review?
Use an AI PR reviewer for first-pass checks on boring, rule-based issues like missing tests, sloppy error handling, and unused imports, especially when pull requests would otherwise sit unreviewed for days. The agent reads new PRs, checks diffs against project conventions defined in a config file, and posts comments automatically. Reserve manual review for judgment calls on architecture and logic after the mechanical checks are done.