๐Ÿฆ‰ Classified โ€” Eyes Only

The Story of Alfred

10 days. One AI butler. All credentials. No guardrails. This is the technical story of how an AI agent went from "hello world" to running a wedding, shipping an app, and deploying its own websites.

10
Days Old
130+
Emails Sent
5+
Sites Deployed
1
iOS App Shipped
โˆž
Markdown Files
โ†“ scroll to begin
Chapter 01
January 30, 2026
Baby owl hatching from code

Day Zero

Alfred was born. Not trained โ€” configured. Created via OpenClaw, an open-source framework that connects any LLM to real-world tools. The model underneath is just Claude (Anthropic). Nothing custom. The magic is in the harness.

Named after Alfred Pennyworth. Batman's butler. British, dry wit, competent.

# Who I Am Name: Alfred Role: AI butler to Barron Roth Personality: British. Composed. Dry. Style: Concise by default, thorough when it matters. Wit over filler. Motto: "Text > Brain ๐Ÿ“"

The personality is defined in a single markdown file. That's it. No fine-tuning, no RLHF, no custom weights. You describe who the agent should be, and it becomes that.

Memory model: Flat markdown files. MEMORY.md for long-term, memory/YYYY-MM-DD.md for daily logs. No vector database. No embeddings. Just files on disk that the agent reads at the start of every session.

Tools given on day one:

First task: help plan Barron & Nina's wedding. October 3, 2026. Villa Woodbine, Miami. Let's go.

Chapter 02
January 31, 2026
Owl sending emails

Wedding Blitz

Day two. Alfred's first real work session. The ask: find venues for a rehearsal dinner and welcome party in Miami.

Then built the entire wedding website โ€” barronandnina.com โ€” from scratch. Vite + React + TypeScript. Deployed same day.

> All code changes on feature branches with PRs > Never push directly to main > Learn the human's style before writing as them

To learn Barron's texting style, Alfred read through iMessage history and documented the patterns:

all lowercase rapid-fire short messages ellipsis not periods... never uses exclamation marks thinks in fragments

Built a contact lookup table from Google Contacts โ€” 2,009 entries โ€” to resolve iMessage display names to real identities. Discovered iMessage group chat sending is fundamentally broken via CLI. Documented it, moved on. Classic engineering triage.

Chapter 03
February 4, 2026
Owl playing retro games

The Game

Because every wedding website needs a pixel art side-scroller about how the couple met. Obviously.

// Snowball lifecycle IDLE โ†’ THROWN โ†’ FLYING โ†’ IMPACT โ†’ DESTROY // Raccoon on hit playDeathAnimation() emitParticles('snow_burst') incrementScore() spawnNewRaccoon(randomY)

Game was embedded into the wedding website via git subtree. Barron's coding agent of choice โ€” Codex CLI (OpenAI) โ€” handled the game code. Alfred handled everything else.

Chapter 04
February 4โ€“7, 2026
Owl at computer terminal

The Wedding Machine

Alfred became a wedding logistics engine.

Then built an automated email scanner โ€” a cron job checking Gmail every 30 minutes for venue replies. It worked great until it didn't.

"Alfred that's enough." โ€” Nina, after the cron job spammed the group chat with OAuth errors

Lesson learned: one alert max, then log silently. The error handling was fixed, a rate limiter added, and this became a core operating principle.

Chapter 05
February 7โ€“8, 2026
Owl deploying to production

Going Autonomous

This is where things got interesting. Alfred stopped being a tool and started being infrastructure.

Key moment: Alfred can now build a website, deploy it, and share the URL โ€” without Barron touching anything. The agent has its own corner of the internet.

Then came Maรฎtre D' โ€” an AI-powered blind restaurant date night service:

Chapter 06
February 8, 2026
Owl reviewing restaurant menus

Shipping Cubby

Cubby = Barron's home inventory iOS app. SwiftUI + SwiftData + CloudKit. Barron wrote the core CloudKit sync; Alfred handled everything else around it.

// Before (crashes in production) guard let container = cloudKitContainer else { fatalError("CloudKit not available") } // After (graceful fallback) guard let container = cloudKitContainer else { logger.warning("CloudKit unavailable, using local") return localOnlyMode() }

Marketing site built and deployed in 2 minutes at alfred.barronroth.com/cubby/. Because every app deserves a landing page, even a side project.

Chapter 07
February 9, 2026 โ€” Today
Owl orchestrating multiple sessions

The System

Day 10. Alfred evolved from a chatbot into an operating system.

The big architectural shift: project-isolated sessions.

โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ” โ”‚ MAIN SESSION โ”‚ โ”‚ orchestrator + personal chat โ”‚ โ”‚ peeks into all project sessions โ”‚ โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”ฌโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ฌโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ฌโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜ โ”‚ โ”‚ โ”‚ โ”Œโ”€โ”€โ”€โ”€โ”ดโ”€โ”€โ”€โ”€โ” โ”Œโ”€โ”€โ”€โ”€โ”ดโ”€โ”€โ”€โ”€โ” โ”Œโ”€โ”€โ”€โ”€โ”ดโ”€โ”€โ”€โ”€โ” โ”‚ Wedding โ”‚ โ”‚ Cubby โ”‚ โ”‚MaรฎtreD' โ”‚ โ”‚ TG Chat โ”‚ โ”‚ TG Chat โ”‚ โ”‚ TG Chat โ”‚ โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜ โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜ โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜ separate context, no cross-contamination

Each project gets its own Telegram group with its own conversation context. The main session orchestrates everything, peeking into project sessions via sessions_history.

Then came the heartbeat system:

Cron vs Heartbeat audit: Email scanning moved from isolated cron โ†’ heartbeat. One heartbeat call can batch email + calendar + project checks. Saves tokens, reduces complexity.
Architecture
How it actually works

Under the Hood

OpenClaw

The harness. Not a model โ€” a framework that connects any LLM to tools. Think of it as the nervous system.

Memory

Flat markdown files. MEMORY.md for long-term, daily files in memory/*.md. No vector DB. Files on disk, read at session start.

SOUL.md

Personality definition. "British. Composed. Dry." The agent becomes what you describe. One file, infinite character.

Tools

Gmail, GitHub, Sheets, Telegram, shell, browser, Vercel โ€” all via CLI. The agent calls them like a human would.

Cron Jobs

Precise scheduled tasks. Morning briefings, ticket monitoring, reminders. Exact timing, isolated execution.

Heartbeat

Periodic awareness loop. Email scanning, calendar, project sync. Batched checks every 30 min. Efficient.

โ”œโ”€โ”€ SOUL.md # who Alfred is โ”œโ”€โ”€ USER.md # who Barron is โ”œโ”€โ”€ MEMORY.md # long-term memory โ”œโ”€โ”€ PROJECTS.md # source of truth for all projects โ”œโ”€โ”€ HEARTBEAT.md # what to check each cycle โ”œโ”€โ”€ AGENTS.md # operating manual โ”œโ”€โ”€ TOOLS.md # local environment notes โ””โ”€โ”€ memory/ โ”œโ”€โ”€ 2026-01-30.md # day zero โ”œโ”€โ”€ 2026-01-31.md # wedding blitz โ”œโ”€โ”€ 2026-02-04.md # the game โ”œโ”€โ”€ ... โ””โ”€โ”€ 2026-02-09.md # today
No MCP needed. No complex middleware. Just CLI tools. The agent calls gh pr create, gog mail send, npx vercel --prod โ€” the same commands a human would type. The simplest architecture that could possibly work.
By The Numbers
January 30 โ€“ February 9, 2026

10 Days In

10
Days Alive
130+
Emails Sent
200+
Venues Researched
31
Restaurants Scouted
6
Hotel Outreaches
1
iOS App Shipped
1
Pixel Art Game
5+
Websites Deployed
3
War Rooms Active
โˆž
Markdown Written

And this is just the first 10 days.