
How I use Nano-Claw to run local apps
Published on 4/8/2026
•4 min read
•I have two toddlers, a homeschool schedule, and a standing question of "what are we eating this week." I also have Claude Code and a weekend.
That turned out to be enough.
What is NanoClaw?
NanoClaw is an open-source personal AI agent — a bridge between Claude and the messaging apps you already use. WhatsApp, Discord, Telegram. You talk to it like you'd talk to a person, and it actually does things.
What makes it different from most AI tooling is the security model. Every agent session runs in an isolated Linux container — Docker on Linux, Apple Container on macOS. The AI can only see what you explicitly mount into the container. There's no application-layer trust, no "don't worry, it won't touch that folder." The isolation is real.
The other thing worth noting: the entire codebase is 15 source files and roughly 3,900 lines of code. That's small enough to read in an afternoon. If you care about understanding what's running on your machine, that matters.
Setup is intentionally minimal — clone the repo, run /setup, let Claude Code handle the rest.
The Two Apps I Built
I've written before about meal planning and the system I use to keep food on-track for a household managing specific dietary needs. That system now has a dedicated app: NanoChef.
The other app is a homeschool scheduler I built for my kids. It knows their school schedule, their extra activities, nap time, and bedtime. Every morning it drafts a suggested agenda for the day. I review it, critique it via voice or by typing, and then print the final schedule for the kids to see at breakfast. If we need custom worksheets or activities, I can generate and print those too.
Both apps live as local web apps. Claude Code built them. I'm not exaggerating when I say that — I described what I needed, iterated, and ended up with two working tools tailored exactly to how my family operates.
The Architecture (Such As It Is)
Each app has a shared directory that I mount into the NanoClaw container. The agent can read and write to those directories, and so can I from my host machine. That's the whole trick — a shared filesystem as the handoff point between my apps and the AI.
For data storage, I'm using JSON. It's simple, the agent can ingest it easily, and Claude Code had no trouble working with it. Whether it's the right long-term choice, I genuinely don't know. It's working for now, and that's where I am.
How I Actually Interact With It
NanoClaw runs on Discord. I have a central channel where the agent has access to both data directories — so it can see my meal plan and the kids' schedule at the same time. If I ask "what are we doing today and what's for dinner," it has the full picture.
I also have app-specific channels for each app. In those, the agent's context is limited to just that app's data. That makes it more focused — better for targeted changes like swapping a meal or adjusting tomorrow's agenda — without the noise of everything else.
For the homeschool app, there's a daily scheduled job that runs automatically and drops a draft agenda into the channel. I wake up, look at it, make adjustments, and print. For NanoChef, I just talk to it — "I want something with chicken tonight" or "what can I make with what's in the fridge" — and it works from the meal data I've already set up.
The Bigger Point
None of this required a dev team. It required motivation and an AI subscription.
Claude Code handled the application code. NanoClaw handled the agent infrastructure. I handled the part that no AI could — knowing exactly what my family needs and building toward that.
The personalization gap between enterprise software and real life is massive. Meal planning apps don't know my kid has a nap at 1pm. Homeschool planners don't know we do swim lessons on Thursdays. The tools that fit your actual life are the ones you build yourself — and that bar is lower now than it has ever been.
I'm still figuring parts of this out. The JSON question is real. The architecture is not elegant. But it runs every morning, and that's the point.