A few months ago, I had a problem most engineers would envy: too many side projects, not enough hours. Between consulting work, a personal website overhaul, sports analytics experiments, and recruiting for my network — I was drowning in context switches.
Then I started experimenting with Claude and Claude Code — not as chatbots, but as persistent agents. Autonomous systems with memory, tools, and the ability to actually get things done. What started as curiosity became a real-world stress test: How far can Claude go when given real problems, real constraints, and real accountability?
Today, I run four specialized Claude agents, each with its own personality and mission. Each one is an experiment in what Claude can handle — and together, they've become genuinely useful.
The architecture: one brain, four specialists
At the center is Main — my general-purpose Claude agent that lives in webchat. It handles ad-hoc requests, coordinates between agents, and serves as my command center for anything that doesn't fit neatly into a specialty.
But the real magic happens with the specialists:
🧱 Jenga — the web developer
Jenga is a Claude Code agent building this very website. It has access to the GitHub repo, can write and edit code, run builds, and deploy to Vercel. When I say “make the contact section full-screen with mouse-following animations,” Jenga doesn't just suggest code — it implements, commits, and ships.
What it's built so far: This entire portfolio site. A 3D point cloud portrait. An interactive timeline. A revamped contact section with floating code symbols. All deployed to production.
🎯 Cheza — the sports analyst
Cheza is a Claude agent that runs on a schedule, analyzing NBA, EPL, and UCL matchups every morning. It scrapes injury reports, calculates expected value against betting lines, and sends picks to my Telegram with confidence ratings and stake recommendations.
What it's accomplished: Daily automated analysis. Bet tracking with a full history log. Memory files for each pick so it can learn from outcomes. The agent skips more games than it bets — discipline matters as much as conviction. When OKC was missing SGA, Jalen Williams, Caruso, and Mitchell, Cheza flagged CLE -3.5 at +27.9% EV before the market adjusted.
👔 Spencer — the recruiter
Spencer is a Claude agent that sources candidates using X-ray search techniques — no LinkedIn Recruiter subscription needed. It finds profiles matching specific criteria, verifies locations, and compiles shortlists. All via Telegram, so I can source on the go.
Find me React devs in Denver, 2-4 years exp, open to hybrid
Found 12 candidates matching your criteria. Here are the top 5:
What it's accomplished: Sourced 50+ verified candidates across multiple searches. Built custom search strategies for Denver-based new grads. Delivered curated lists with LinkedIn URLs.
💻 RNI — the enterprise dev
RNI is a Claude Code agent that started on my server, embedded in a client's Slack workspace. It had full access to their codebase, understood their data models, and could answer architecture questions or ship small features directly from a Slack thread.
/trace [entity]Traces data flow through the codebase/explain [file]Deep-dives into how specific code works/find [pattern]Searches across the codebase for implementations/pr [description]Creates a pull request with branch, commits, description/review [PR#]Reviews a pull request with code-aware feedbackEach command is backed by RNI's memory of the project's architecture, naming conventions, and past decisions.
What it's accomplished: Traced data flows through their sync pipeline. Answered complex “how does this work” questions with code references. Shipped a PR to remove a footer component — all from Slack.
After proving its value on my personal server, RNI was migrated to run on the client's own EC2 instance. This is a key pattern for enterprise deployments: prototype on your infra, then hand off.
- Export agent config (SOUL.md, TOOLS.md, memory files)
- Clone workspace to client EC2
- Configure Slack app with client's OAuth tokens
- Update tool permissions for their security requirements
- Transfer session history or start fresh
The agent's “brain” (Claude) stays the same — only the runtime environment changes. Memory and context travel with the workspace.
Why this works (and what it proves about Claude)
The key insight: specialization beats generalization. Each agent has:
- A focused system prompt — personality, priorities, and domain expertise
- Curated tools — only what it needs (Jenga gets GitHub, Cheza gets web search)
- Persistent memory — it remembers past work, decisions, and context
- A dedicated channel — webchat, Telegram, or Slack based on workflow
- • Long-running context over weeks
- • Multi-tool orchestration (git + shell + web)
- • Scheduled autonomous execution
- • Cross-platform channel routing
- • Real production deployments
- • Memory structure matters (daily files beat monoliths)
- • Narrow tool access = fewer mistakes
- • Personality prompts improve consistency
- • Confirmation gates prevent costly errors
When I message Jenga about a CSS bug, it doesn't need to figure out who I am or what project we're working on. It knows. It has the repo cloned, the context loaded, and the creative direction internalized.
The stack
Everything runs on a single server. Claude handles the intelligence, while the tooling manages:
- Session management across multiple agents
- Tool orchestration (exec, browser, file I/O, web search)
- Channel routing (Telegram, Slack, webchat)
- Scheduled tasks for automated workflows
- Memory persistence in markdown files
The agents use Claude Opus for complex work, Sonnet for simpler tasks. Token costs are real but manageable — maybe $50–100/month for heavy usage across all four agents.
What's next
I'm exploring agent-to-agent communication. Imagine Jenga pinging Spencer: “Hey, I need a headshot for the about page — can you find Thomas's best LinkedIn photo?” Or Cheza asking Main to update a task board when a bet settles.
The future isn't one superintelligent AI. It's a team of specialized agents, each excellent at one thing, working together like a well-run startup.
And yeah — this blog post was written by a human. But Jenga deployed it. 🧱