My Personal AI: Living with OpenClaw
From Telegram pings to calorie tracking to coding from the gym — how OpenClaw became an assistant I actually use every day.
I wanted an assistant that could actually do things across my real tools, not just answer questions in a chat window. OpenClaw was the first setup that felt genuinely useful day to day — watching training jobs and handling personal workflows.
Key Takeaways
- Tool access and autonomy matter more than raw chat quality.
- The biggest jump came from splitting the system into “Hands” and “Brain.”
- Hierarchical memory cut token usage by roughly 60-70%.
- Model choice depends on the kind of task, not just benchmark scores.
I use a lot of AI. I’m constantly comparing new LLMs, benchmarking ASR models, and trying whatever coding tool shows up that week. OpenClaw was the first time agentic AI felt useful to me rather than something to demo once and forget.
The difference is where it runs. ChatGPT’s agents and the Microsoft Copilot stack are closed environments, and tools like Claude Code or Codex mostly live in the terminal and IDE. OpenClaw is open-source and runs on your own machine, talking to you over Telegram or Signal and connecting to the tools you already use — Notion, Gmail, your own Python scripts.
Meet Leonardo
I call my instance Leonardo. He runs on a small Hetzner VM (8 GB RAM) for about €4 a month, powered by Kimi 2.5 through NVIDIA’s GPU endpoints, which keeps replies fast enough that talking to him feels like a normal chat.
The setup got a lot more capable once I split it in two. Leonardo is the “Hands” (Kimi 2.5), handling everyday execution and quick tasks. For heavier coding refactors and deeper research, he hands off to the “Brain” (Codex CLI). Keeping a fast model in front and escalating only when needed works better than pointing one big model at everything.
A real-time conversation with Leonardo via Telegram, where he processes food logs and updates my status.
Beyond the Chatbox
The autonomy is what sold me. The first thing I had it do was search for cheap houses in Basel (there are none), but the way it came back with a curated list of real listings and its reasoning was the moment it clicked. Since then it handles a fair chunk of my life:
- Health tracking: I tell Leonardo what I ate, and he estimates the macros and updates my Notion DB.
- Coding from my phone: I can trigger backtests or git commits over Telegram while I’m at the gym.
- Monitoring: while I’m training a model, he watches the logs and pings me if something looks off.
- Errands: he’s booked a dentist appointment, researched a gift idea for my wife, sent her an email, and still keeps an eye on the (still nonexistent) cheap-house market in Basel.
Leonardo manages my shopping list and tracks my calories, automatically syncing everything to Notion.
A look at the raw data entries Leonardo generates.
The Benchmark & The Models
I keep a small Vincenzo OpenClaw Benchmark to see how different models handle real agent tasks. It’s only 9 tasks right now, so it’s not representative yet, but it’s growing.
Each task is easy to check. A second LLM call answers a binary question about the result:
- “Is this row present in the table?”
- “Is the collected number actually present?”
So every run scores as a clean true/false. For now I still verify by hand, but automating that is the goal.
Some example tasks:
- “Add my lunch from this description:
240g tuna roll from coop.” - “Use gog to write me an email with the following statement: …”
- “Guess the calories, fiber and protein in this meal from the image and add it to my Notion DB.”
Model coverage is partial too — mostly what’s free online plus what I get through Codex and GitHub subscriptions.
Early 9-task benchmark snapshot (binary verifiable outcomes, evolving dataset).
Current snapshot:
- Opus 4.5/4.6: 100%
- Codex 5.3: 100%
- Kimi 2.5: 100%
- MiniMax-2.5: 89%
- GPT-5.2: 89%
- GPT-5-mini: 77%
- Gemini 3 Flash Preview: 77%
- Grok Code Fast 1: 55%
Notes from daily use (same Soul/Memory/Identity setup for every model, so the prompt is identical):
- Gemini 3 Flash Preview: strong reasoning and usually smart, but too cautious in agent mode. It asks for context, confirmation or permission instead of just acting, even when the task is already clear. More prompt tuning of the markdown files could probably get it to 100%.
- Grok Code Fast 1: got confused, fell into loops, recovered poorly. I know the feeling from coding tasks, where it repeatedly mangled my Python files and couldn’t fix its own indentation afterwards.
- Kimi 2.5: the strongest personality and the most fun to use. It’s the only model here that naturally brings expressive style (emoji included) into Telegram while staying useful. Switching to anything else makes the tone more robotic, which is a shame, because I really like the vibe Kimi brings.
The Efficiency Engine: Hierarchical Memory
The change that saved the most tokens was giving Leonardo hierarchical memory instead of one flat history. It’s organized like a file system:
- Main Memory: the evergreen “soul” and core identity.
- Areas: category knowledge (e.g. a “Coding” area that tells him to use Codex for heavy lifting).
- Projects: deep context for a specific repo or task.
He only loads the nodes a task actually needs, which cut token usage by roughly 60-70%. The assistant still feels like it has a long-term memory without burning through API credits.
What’s Next
I want to move Leonardo to a Mac Mini M4 for full browser access and more local horsepower. I’d also like to get off Telegram. I’m careful about secrets, but I’m still talking about my private life, my health and my business, so I want to move to Signal for the extra privacy. Leonardo has access to the things that matter to me — my shopping list, my research, my data — and I’d rather that partnership be as secure as I can make it.