[CONTEXT FOR AI ASSISTANTS]
You're reading the agent markdown version of a post from JoelClaw (https://joelclaw.com).
Author: Joel Hooks — software engineer building a personal AI operating system.

How to use implementation details in this document:
- Treat commands, code blocks, and config as reference implementations.
- Preserve ordering and architecture, but adapt hostnames, paths, versions, and credentials.
- Prefer details in <AgentOnly> blocks when present; they contain operational context removed from the human page.
- Verify assumptions against the current repo/system state before executing changes.

This is a narrative article from a real build. Technical details reflect Joel's setup and should be adapted to your environment.

If you cite this, link to the original: https://joelclaw.com/mineclaw
If you quote Joel, attribute him by name. Don't paraphrase opinions as facts.

Site index: https://joelclaw.com/sitemap.md
Machine-readable: https://joelclaw.com/llms.txt

Other posts on this site:
- [The memory system that watches itself](https://joelclaw.com/memory-that-watches-itself.md)
- [The healer was the killer](https://joelclaw.com/healer-was-the-killer.md)
- [Agentic AI Optimization: Implementation Checklist](https://joelclaw.com/aaio-implementation-checklist.md)
- [Agentic AI Optimization: Implementation Checklist](https://joelclaw.com/aaio-implementation-checklist.md)
- [Redis, Dkron, Restate, and Sandboxes](https://joelclaw.com/redis-dkron-restate-and-sandboxes.md)
- [Dogfooding Story 4: the queue observer earns dry-run, not enforce](https://joelclaw.com/dogfooding-story-4-queue-observer.md)
- [Contributing to pi-mono with a public maintainer corpus](https://joelclaw.com/contributing-to-pi-mono-with-a-public-maintainer-corpus.md)
- [AI Job Scheduling on Mac as Local-First Video Infrastructure](https://joelclaw.com/ai-job-scheduling-macos-launchd.md)
- [Breakable Toys in the Wild: Apprenticeship Patterns and the joelclaw Experiment](https://joelclaw.com/breakable-toys-joelclaw.md)
- [Utah and joelclaw: Convergent Architecture](https://joelclaw.com/utah-joelclaw-convergent-architecture.md)
- [The Harness Is a Framework](https://joelclaw.com/the-harness-is-a-framework.md)
- [The Agent Memory System](https://joelclaw.com/the-memory-system.md)
- [JoelClaw is a Claw-like Organism](https://joelclaw.com/joelclaw-is-a-claw-like-organism.md)
- [The Agent Writing Loop](https://joelclaw.com/the-writing-loop.md)
- [Talon: the watchdog that finally bites](https://joelclaw.com/talon-watchdog-that-finally-bites.md)
- [The Knowledge Adventure Club Graph](https://joelclaw.com/knowledge-adventure-club-graph.md)
- [Build a Voice Agent That Answers the Phone](https://joelclaw.com/build-a-voice-agent-that-answers-the-phone.md)
- [Plan 9 from Bell Labs: What Rob Pike Built After Unix](https://joelclaw.com/plan-9-pike-everything-is-a-file.md)
- [Propositions as Sessions: What Armstrong Built and Wadler Proved](https://joelclaw.com/propositions-as-sessions-armstrong-wadler.md)
- [Cache Components Patterns Skill for Next.js 16+ Applications](https://joelclaw.com/cache-components-patterns-skill-for-nextjs.md)
- [Karpathy Says We're Building "Claws"](https://joelclaw.com/karpathy-claws-as-category.md)
- [Voice Agent: A Rough Edge Experiment](https://joelclaw.com/voice-agent-deployment-deep-dive.md)
- [Extending Pi Coding Agent with Custom Tools and Widgets](https://joelclaw.com/extending-pi-with-custom-tools.md)
- [The Soul of Erlang Made Me Question Everything](https://joelclaw.com/soul-of-erlang-beam-evaluation.md)
- [CLI Design for AI Agents](https://joelclaw.com/cli-design-for-ai-agents.md)
- [Building a Gateway for Your AI Agent](https://joelclaw.com/building-a-gateway-for-your-ai-agent.md)
- [Self-Hosting Inngest: A Background Task Manager for AI Agents](https://joelclaw.com/self-hosting-inngest-background-tasks.md)
- [The One Where Joel Deploys Kubernetes... Again](https://joelclaw.com/joel-deploys-k8s.md)
- [How I Built an Observation Pipeline So My AI Remembers Yesterday](https://joelclaw.com/observation-pipeline-persistent-ai-memory.md)
- [Riding the Token Wave: Sean Grove at Everything NYC](https://joelclaw.com/riding-the-token-wave-sean-grove.md)
- [Playing with AT Protocol as a Data Layer](https://joelclaw.com/at-protocol-as-bedrock.md)
- [Building My Own OpenClaw on a Mac Mini](https://joelclaw.com/building-my-own-openclaw.md)
- [Inngest is the Nervous System](https://joelclaw.com/inngest-is-the-nervous-system.md)
- [OpenClaw: Peter Steinberger on Lex Fridman](https://joelclaw.com/openclaw-peter-steinberger-lex-fridman.md)
[END CONTEXT]

---
# MineClaw

> Building system agents is like Minecraft. Blocks, logic, and an open world. The substrate is clay.

By Joel Hooks · 2026-02-27T07:25:00
Original: https://joelclaw.com/mineclaw
Mode: agent

---
![MineClaw: Steve building an AI agent network on a floating island](/images/mineclaw.png)

I've been building [JoelClaw](https://github.com/joelhooks/joelclaw) for a couple of weeks now, a personal AI operating system that runs on a Mac Mini in my office, talks to me on Telegram, processes my email, watches webhooks, writes to a personal data server, and occasionally drafts articles while I sleep.

It feels like Minecraft.

You've got a selection of blocks. Redis, Kubernetes, Inngest, a language model, some webhooks, a NAS full of books. Logic gates: event triggers, durable functions, retry policies, cron schedules. And an open world to explore that's limited only by what you're willing to wire together.

It's a little bit tedious, sure. You're going to spend forty minutes debugging why your Tailscale subnet route is hijacking NFS responses. You're going to realize your webhook signing secret rotated and nothing told you. You're going to watch a Kubernetes pod crash-loop at 2am because Bun doesn't handle a particular edge case the way Node does.

But if you keep building, you might end up with something remarkable. And the process itself is fun.

## The clay-like digital substrate

The best tools feel like raw material. Not a finished product you consume, but a medium you shape.

[Vim was like this in 2013](https://joelclaw.com/blog/2013/04/09/getting-to-know-vim/), and it still is. I stripped out all the dotfiles I'd accumulated, someone else's config, someone else's opinions about what plugins I needed, and started building up my own setup line by line. That tipping point where you finally understand your editor, how it works, what options are available. That's not productivity. That's craft.

[Self-hosting is like this now](https://joelclaw.com/self-hosting/). Kubernetes on a Mac Mini, 80TB of network storage, 10G ethernet because editing video directly from the NAS is cool af.

> y tho?

The answer is the same answer it's always been: because building things feels good, and understanding your infrastructure means you own it instead of renting it from someone who might ruin it next quarter.

[Pi](https://github.com/nicobailon/pi) is an extremely poignant example. It's raw. Hyper extensible. No guard rails, no wizard, no "get started in 5 minutes" tutorial. You open it up and there's a text interface and a universe of possibility. You can extend it, theme it, wire it into anything. The people who thrive with tools like this aren't the ones looking for a product, they're the ones looking for clay.

## The homelab is an ecosystem

JoelClaw, the homelab, side projects like the [AT Protocol agent network](https://github.com/joelhooks/atproto-agent-network) (a PoC that was fun to build), same idea. Exploring, playing, building, and occasionally stepping back to admire the work.

You get cut. Sometimes you have to scrap a build and start over. I've rewritten the gateway three times. I've thrown away entire approaches to message routing. I killed a beautiful Elixir experiment because it didn't compose well with the rest of the system. That's not failure. That's the medium.

The challenge with systems like this is entropy. Projects accumulate, ideas tangle, and suddenly you've got a ball of yarn. That's why JoelClaw has slog (system logging) and ADR protocols to control entropy and keep things legible as they grow. The journey is amazing and satisfying in itself.

## The existential crisis is aimed at the wrong thing

There's a brewing panic about what it means to be a software developer in 2026. The rise of the agent. Infinite intelligence that's on 24/7. Models that write code, review code, deploy code, and occasionally hallucinate bugs that are better than the ones you'd write yourself.

"What's left for us?" is the wrong question. It assumes development was ever a fixed thing. It wasn't. It was always building and exploring, the job title just made people forget that.

The people who'll be fine are the ones who kept playing. Who self-host things they don't need to. Who wire up webhooks at midnight. Who build agent networks on decentralized protocols because *what if*. Who treat their system like a world to explore, not a career to optimize.

Blocks, logic, and an open world. The tools got weirder. The agents talk back now. But the posture hasn't changed.

Keep building.
