Systems — In Production

Autonomous AI Assistant

Python + SMTP/IMAP + Automation In production 2024 — Present

Problem

Repetitive ops work — email triage, daily briefings, record-keeping, deployments, server health checks — consumed hours that should go into building. The context-switching cost was the real killer.

Solution

An autonomous assistant on my own infrastructure: it administers a production mail stack (Exim/Dovecot with DKIM signing), sends verified mail, keeps persistent memory across sessions, and runs daily briefings — all without human prompting.

Architecture

Capabilities

Email Pipeline

Daily Briefing

Runs 06:00 UTC. Fetches: calendar, GitHub notifications, server health (disk, CPU, mail queue, SSL expiry), security alerts, bug bounty program updates, deployed PRs. Formats as markdown, sends via mail, posts to Slack.

Server Ops

Persistent Memory

SQLite + vector store. Every interaction, decision, and observation stored with embeddings. Retrieval via semantic search + recency weighting. Context window managed via summarization + importance scoring.

Testing & Reliability

The assistant maintains an 11-check email regression suite that must stay green after every server change — the same discipline this site's deploys go through.

# Regression suite (runs before any deploy)
1. DKIM signing works (test key + selector)
2. SPF passes (alignment check)
3. DMARC policy enforced (reject/quarantine)
4. rDNS matches hostname
5. TLS 1.2+ only, secure ciphers
6. Queue depth < 100 (no backlog)
6. IMAP/Dovecot authentication works
7. DKIM verification of outbound mail
8. SPF alignment (header From vs envelope)
9. DMARC report parsing works
10. Bounce processing works
11. Reply routing (alias to Gmail + Maildir)

Results

Key Technical Decisions

  1. Self-hosted mail over SaaS: Full control, DKIM keys never leave server, no per-email costs
  2. Local embeddings over API: Zero latency, zero cost, privacy, works offline
  3. SQLite for memory: Zero config, portable, ACID, fast enough for single-agent
  4. LangGraph over custom loops: Structured state machines, built-in persistence, debugging
  5. Systemd over cron: Precision timing, logging, dependency management, restart policies

What's Next


Private infrastructure — no public demo by design. Back to Case Studies