Safe AI automation for revenue-critical legacy systems. I lead a two-engineer team owning a multi-million-dollar specialty-travel stack — a multi-portal PHP / MySQL reservations platform, multi-tenant AI assistants on Docker, and a Python agent-orchestration host — and I run the whole thing behind a human merge gate.
- ~80% of measured query load removed across the reservations platform via three zero-downtime online-DDL indexes (before/after EXPLAIN + slow-log deltas, no customer-visible cutover).
- Manifest page: 5–7s → ~1s, SQL / request 2,650 → 183, byte-identical HTML — the caching layer is verified equivalent, not just faster (case study).
- 12 manager-prototyped features shipped through a human merge gate (Vagabond marketing lead prototyping on live production data; review + hardening by me and one engineer I manage), zero agent-caused incidents in production (factory ADR: shared collector seam, scoped system user ADR).
- 14-host observability fleet + 3 enterprise migrations (Bitbucket → GitHub, WordPress hardening, Tailscale rollout), no customer-visible outage.
Most of that work lives in private repos. The architecture and the reasoning behind it are written up in the ETA Platform case study and in infrastructure-patterns — sanitized ADRs, a threat model for agent sandboxes, and an operational review checklist.
| Repo | What it proves | Evidence |
|---|---|---|
vaulted-agent-launcher (va) |
Per-agent blast radius: launches Claude Code, Codex, Grok, and Kimi with vault-resolved secrets in-process — no .env files or vault tokens on disk (1Password, Bitwarden SM, pass, sops; macOS + Linux) |
Design issues #70, #72 · installer hosting docs |
| muxboard | Babysitting long-running agents: Flask-embeddable web dashboard over tmux for one host or a fleet, live in-browser attach — default-deny auth, attach caps, documented threat model |
muxboard.dev |
| infrastructure-patterns | Sanitized ADRs and the operational review checklist from the ETA factory — the human merge gate, in writing | ADR index |
| chart35-showcase | Privacy-by-construction: offline-first PWA, end-to-end encrypted sync, provider sharing. 83 iOS + 17 Android installs, 52 web accounts (40 verified, 47 synced) on Chart35 — App Store / Play / TestFlight, growth via organic search alone | Architecture + privacy slice public; production data stays E2E-encrypted so the server sees only account metadata and encrypted-snapshot sizes |
| cascade | Headless-core + native-UI kata: one Rust core driving six shells. Web PWA live; Windows, notarized macOS, Android sideload, and iOS TestFlight on /apps (watchOS comes with iPhone) | cascade.stephens.page · architecture |
| k3s-demo | Production-grade k8s manifests: probes, resource limits, hardened securityContext, HPA, ingress, kustomize; statically validated with kubeconform |
Dockerfile |
- MySQL 8.4
caching_sha2_passwordauth-handshake fix inkrowinski/php-mysql-replication— PR #148. The library's handshake ignored the new default plugin; patched the auth-switch path so binlog readers connect to MySQL 8.4 without downgrading server auth. - Kimi Code
kimi -penv-key regression inMoonshotAI/kimi-code— PR #2746 closing issue #2745.agent-core-v2's auth gate resolved credentials fromargs.provider?.env ?? {}and ignoredprocess.env, breaking headless-pruns; fixed the resolver to fall through toprocess.env. - SwarmForge whole-swarm teardown bug in
unclebob/swarm-forge— issue #49. Unexpected exit of the cleanup-owner agent triggered an unconditional teardown of every swarm session; proposed decoupling teardown from the cleanup-owner's process lifecycle.
More landing in the Model Context Protocol ecosystem — that's where the "safe AI automation" thesis externally validates.
Products, tools, and published packages — click to expand
Products
- Drome — local-first iOS tracker for 75-day challenges; one Rust rules engine, native SwiftUI + WidgetKit, event-sourced
Tools in daily production use
- inkvoke — single-binary, agent-friendly Go CLI for OpenAI's image models; prompt / edit / manifest-batch (inkvoke.dev)
Published packages — wire-compatible TypeScript + Go pairs, tested against parity vectors for byte-identical output. TypeScript releases publish via npm Trusted Publishing (OIDC) — no long-lived tokens, provenance on every version.
| Package | TypeScript (npm) | Go (pkg.go.dev) |
|---|---|---|
| HMAC webhook verifiers (GitHub / Stripe / Twilio / Mandrill) | @stephenspage/webhook-verify |
webhook-verify-go |
| AES-256-GCM envelope + PBKDF2 vault + zero-knowledge sealed shares | @stephenspage/webcrypto-envelope |
webcrypto-envelope-go |
📄 Resume · Portfolio · Available for Staff / Lead platform-infra roles
St. Carlo Acutis, pray for us.