How ANANTA runs on one Mac Mini

Four privacy-first SaaS products. 95 SEO pages. Autonomous content + reply pipelines. All on a single Mac Mini M4 Pro in India. Here's the architecture, the stack, the cost, and why it works.

Live snapshot

Products live
4
Services running
85
Uptime
22:25
RAM free
18.1 GB
Disk free
104Gi
Blog posts
10
Changelog entries
47
Memory episodes
132430

This snapshot regenerates on every page request. The numbers above are the actual values reported by `vm_stat`, `df`, `launchctl list`, and the SaaS registry SQLite — not synthetic placeholders.

The shape of the system

ANANTA TRADE ┌──────────────────────┐ │ Mac Mini M4 │ │ 64 GB RAM │ │ Apple Silicon ARM │ └──────────┬───────────┘ │ ┌─────────────────────────┼─────────────────────────┐ │ │ │ │ Cloudflare Tunnel │ Direct Ollama API │ │ (anantatrade.com) │ (port 11434) │ │ │ │ └────────┬─────────────┬──┴────┬──────────┬──────────┘ │ │ │ │ ▼ ▼ ▼ ▼ ┌────────┐ ┌────────┐ ┌────────┐ ┌────────┐ │ Tailor │ │ Notes │ │ Docs │ │ Slides │ │ (Vercel│ │ (Vercel│ │ (Vercel│ │ (Vercel│ │ + │ │ + │ │ + │ │ + │ │ Llama) │ │Whisper + │ChromaDB│ │ Play- │ │ │ │ Llama)│ │+ Llama)│ │wright)│ └────────┘ └────────┘ └────────┘ └────────┘ │ │ │ │ └─────────────┴───────┴──────────┘ │ ▼ ┌──────────────┐ │ Razorpay │ │ live (INR) │ └──────────────┘

Each of the four SaaS frontends is a Next.js 15 + React 19 app on Vercel. None of them run any LLM logic in their own runtime. Every AI call (Whisper transcription, Llama-3.1 generation, sentence embedding, Playwright PDF render) is a fetch over the Cloudflare Tunnel to the Mac Mini, which has the model files, the GPU access, the persistent state.

Stack — exact versions

ComponentImplementation
Hardware Mac Mini M4 Pro · 64 GB unified · ARM64 · 460 GB SSD
OSmacOS 25 · launchd-managed daemons
Python3.11 (FastAPI · Uvicorn · pydantic)
Node22 LTS (Next.js 15 + React 19)
Local LLM gpt-oss:20b, llama3.1:8b
Speech-to-textOpenAI Whisper (base / small)
Embeddings sentence-transformers all-MiniLM-L6-v2 (22 MB)
Vector storeChromaDB persistent (per-doc collection)
HTML→PDFPlaywright Chromium · Inter font
HTML→MP4HyperFrames (HeyGen, Apache-2.0)
Pub-sub / queuesRedis local (no RDS)
SQLSQLite (WAL mode) · per-feature DB
EgressCloudflare Tunnel → anantatrade.com
Frontend hostingVercel (free tier × 4 projects)
BillingRazorpay live (INR + UPI native)
EmailTelegram bot for ops alerts (cheaper, faster)
Memory layer 5-tier (Redis L1, SQLite L2, Graph L3, Wiki L4, Character L5)

What runs autonomously

Cost vs cloud equivalent

Comparing this Mac Mini stack to the equivalent provisioned in AWS / OpenAI / Vercel Pro:

ComponentCloud price (US) This stack (one-time + recurring)
4-product SaaS hosting Vercel Pro 4 × $20/mo = $80/mo Vercel free × 4 = $0
LLM API (Llama-3.1 70B equiv) OpenAI GPT-4o · ~$0.50/M tokens · realistically $200-500/mo at moderate use Local Ollama on M4 Pro · electricity ~$3/mo
Speech-to-text (Whisper-equiv hours) Deepgram $0.43/hr · 100 hr/mo = $43/mo Local Whisper · $0
Vector DB (10k vectors, 4 products) Pinecone Standard $70/mo ChromaDB persistent · $0
Hardware amortisation n/a Mac Mini M4 Pro $1,599 / 36 mo = $44/mo
Egress + DNS $15-30/mo Cloudflare Tunnel free · $0
Email (transactional) Resend / Mailgun $30+/mo Telegram bot · $0
Total ~$438-758 /mo ~$47 /mo (mostly hardware amortisation)
Operating margin at ₹399/mo per Notes customer: customer pays ~$5, this stack costs ~$0.50/customer-month marginal compute. ~90% gross margin, sustainable from customer #1.

Privacy — what we don't do

Why this works for a solo operator

Three structural advantages over the typical SaaS founder:

Try the products