
Use OpenClaw, or Build From Scratch in Python?
Related post →OpenClaw gives you a real head start.
You do not have to plumb every system yourself: the messaging gateway, the scheduler, the cross-session memory, the skill loading. It is all there: open-source, self-hostable, and forkable.
For a lot of people, that is the right answer.
I went the other way and built NOVA as well as OTTO in Python, without an agent framework.
A few reasons
1. Shaped to my workflows from day one
NOVA did not start as a generic agent runtime I had to mold. It started as my personal AI OS, and the plumbing grew around what I actually needed.
Adopting OpenClaw is the opposite path: you inherit their abstractions, then build your workflows on top.
Instead, I use OpenClaw and other tools as a reference textbook for building NOVA.
2. More controlled attack surface
NOVA only runs code I wrote and packages I picked. That is the entire baseline.
Snyk found prompt injection in 36% of ClawHub skills. One in three can be hijacked. In a personal OS that touches your Gmail and calendar, that is a hard pass for me.
I skipped OpenClaw's runtime, but I still use OpenClaw's marketplace. ClawHub skills, MCP servers, and anything I pull in all run in sandboxed runtimes I built, with only the data and permissions I explicitly hand them.
3. I understand every line
When something breaks, I can read it. When something needs to change, I know where.
No agent abstractions I did not write.
OpenClaw is the faster path to capability. Building lower in the stack is the slower path to a system that fits you specifically.
We build AI automations this way for businesses too: owned end-to-end, around your data, your tools, and your workflows.
