Autonomous Content System
An AI system that drafts, safety-gates and publishes public content autonomously for a leading Southeast Asian personal-finance platform, so the company's expertise gets cited by AI answer engines.
Watch the explainer: Autonomous Content System, 71 secondsWatch the 71-second narrated explainer. English captions on.Read the transcript
TL;DR
A published comment cannot be unposted, so code owns the critical path, models work only at the leaves, and every draft must pass a fail-closed judge.
01
Context
The publish-critical path is sequenced in code, not left to a creative model: author, polish, risk-gate, publish. A three-layer fail-closed LLM judge checks content safety, compliance rules and machine-voice tells, backed by per-persona dry-run, canary and live modes, an environment-level kill switch, idempotent publishing and operator escalation into a triage queue.
02
What I built
- Deterministic spine, model-driven leaves: the publish-critical sequence is owned by code, giving every safety control a fixed, verifiable attachment point.
- Three-layer fail-closed safety gate: content safety, compliance hard-fail rules bound only to the injected style guide, and a tone gate that rejects machine-voice tells.
- Defense in depth for publishing: dry-run to canary to live per persona, typing the account name to go live, per-draft allowlists and a production lockout on manual triggers.
- Self-healing runtime: transient-versus-permanent error classification, a two-stage session watchdog, a boot-time orphan reaper and idempotency keys so retries can never double-post.
- The full platform: a five-workspace TypeScript monorepo, an operator console with runtime cron editing and Slack alerting, and CI/CD to Kubernetes with Vault-managed secrets.
03
Engineering judgment
For a system whose output is public and irreversible, the architecture keeps the critical path deterministic: code sequences every publish-critical step, and models operate only at the leaves. Production incidents were closed with durable tooling rather than patches: forensic queue inspection, crash-safe log streaming, and a zero-downtime storage migration with a resumable backfill.
04
Outcome
Live in production roughly three months after the first commit, publishing autonomously under human-defined guardrails. The production-grade boilerplate it grew from became the company's starting point for later AI staff tools.
05
Transcript
Read the 71-second explainer as text
A published comment cannot be unposted. So this system had to run unattended, while operators keep absolute control. An autonomous content system that drafts, safety-gates and publishes, built for a leading Southeast Asian personal-finance platform.
The publish-critical path is sequenced in code, not left to a model: author, polish, risk gate, publish. Models only work at the leaves. Every draft passes a three-layer judge that fails closed: content safety, compliance rules, and a tone gate that rejects machine-voice tells.
Going live is defense in depth: dry-run, then canary, then live, per persona, with a kill switch, idempotent publishing, and escalation to a human triage queue. Built in TypeScript on the Claude Agent SDK, BullMQ and Postgres, shipped with Helm on EKS. Live in production about three months after the first commit.
Deterministic spine. Model-driven leaves.