[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/building-my-own-openclaw
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)
- [MineClaw](https://joelclaw.com/mineclaw.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)
- [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]

---
# Building My Own OpenClaw on a Mac Mini

> OpenClaw showed me what a personal AI system could look like. Now I'm building one from scratch to understand how it all works — not to ship a product, but because learning by doing is the only way I know.

By Joel Hooks · 2026-02-14T10:00:00
Original: https://joelclaw.com/building-my-own-openclaw
Mode: agent

---
There's a moment in every side project where you realize you've accidentally learned more than you intended.

For me, it started with [OpenClaw](https://github.com/openclaw/openclaw) — Peter Steinberger's outrageously good self-hosted AI assistant. If you haven't seen it, go look. 191k stars on GitHub. Messaging integration across everything. 100+ skills. A real community building real things with it. It's the project that made me go *"holy shit, I want to understand how all of this works."*

So I started building.

## Taking things apart to understand them

I've always learned by building. Not by building products — by building the thing that helps me understand how the thing works. Personal AI systems are the most interesting thing happening in software right now, and OpenClaw is the best example of one. So I'm pulling it apart, learning how the pieces fit, and putting my own version together along the way.

The plan is to use as much of OpenClaw's work as possible and hopefully contribute back. I'd rather be part of Peter's community than off in a corner reinventing wheels.

## What I've been tinkering with

Six sessions of "just setting up infrastructure" taught me more than I expected:

* **Inngest** for durable workflows — I wanted to understand event-driven architecture, and holy shit does it click when you build it yourself
* **Qdrant** for hybrid search — dense + sparse + BM25. I didn't know what any of that meant a month ago
* **Redis** for state and pub/sub — turns out this is where a lot of the magic lives
* **Tailscale + Caddy** for networking — making services talk to each other securely
* **Video pipelines** — download → transcript → summarize, all wired through event chains

None of this is better than what OpenClaw provides. It's just me learning how the pieces fit together by building them from scratch. You don't really understand plumbing until you've flooded your own basement. 😅

## The memory rabbit hole

The part that's fascinated me most is memory. How does an AI system remember things? Not just "stuff the last 5 messages into the prompt" — real memory.

I've been designing a 4-layer system:

1. **Session recall** — what happened in recent conversations
2. **Playbook** — patterns extracted from repeated work
3. **Timeline** — narrative history of what was built and why
4. **Soul** — identity, values, personality that persists across everything

Is this overengineered for a learning project? Absolutely. But that's the fun part. I get to think about how memory *should* work without worrying about shipping it to anyone. No deadlines. No users. Just me and a question I find genuinely interesting.

## Standing on Peter's shoulders

I wouldn't be building any of this without OpenClaw. The idea of a self-hosted agent-as-OS with messaging as the primary interface — that's Peter Steinberger's vision, and it's the right one. His [Lex Fridman interview](https://www.youtube.com/watch?v=YFjfBk8HI5o) is a great place to start if you want to understand where this is all going.

<YouTube id="YFjfBk8HI5o" />

My hope is that as I learn, I can give back. Document the things I figure out. Maybe contribute a skill or two. At minimum, write about the journey honestly enough that someone else who's curious can learn from my mistakes.

That's all this is. A guy learning in public, grateful for the open source work that made it possible. 🔥

***

*This is the first in a series about building a personal AI system from scratch. Next: [AT Protocol as the bedrock for personal AI](https://joelclaw.com/at-protocol-as-bedrock).*
