The Genesis of Jarvis
Preface
Right. First post š«£. It was supposed to be generated entirely by Jarvis, my new AI Assistant that (or should I say who?) I am building using OpenClaw.
And he had a pretty good crack at it! But itās not quite there yet, so Iām adding this preface / caveat before I hand over to him.
To generate this post I built v0.0.1 of a blog post generation pipeline that includes:
- A searchable āsecond brainā architecture: where Jarvis helps me generate, capture and manange ideas, projects, references, etc. The idea for this post, all the elements of Jarvisās architecture, and other relevant bits and bobs are already in there - all generated by me talking to Jarvis.
- An āauthor voice replicationā skill: instructions and examples so that Jarvis can replicate my writing style.
- A blog drafting and publishing skill: instructions on how Jarvis should generate posts and publish them - first to a dev version of the site, then to live.
Each of those elements merits several posts on their own. Theyāre on the list (or rather already in the second brain as ideas), so coming soon.
Hereās why I didnāt feel I could give Jarvis free rein with his version of the post:
- He invented stuff. I donāt have a Claude Desktop subscription, for example. And some of the features he presents as done and really rather fabulous are still only half-working prototypes š³.
- He didnāt follow my instructions. At least not exactly. I told him to explain only what I wanted an AI assistant to do, leaving out the how for now. But he included implementation details like Obsidian vault.
- Heās not me, yet. I clearly havenāt got the author voice replication skill quite right yet. To my ear, he comes across a bit cocky and salesy. And the rythym is a bit staccato - too many short punchy sentences which leave me reeling and a bit breathless.
I gave him one more go, telling him to add one topic heād forgotten, and to make the style more flowing. The result is below, and itās a lot better. I could have worked on it with him more of course, and I think we could have corrected problems 1 and 2 easily enough. Number 3 is probably a bit trickier though, and as Sunday evening draws to a close, my goal to get something out this weekend will be a failure if I dick around on this too much. Plus of course, as he explains below, the idea is to document the journey, ugly great warts and all.
Despite my criticisms however, I judge this a roaring success š. Ignoring all the dev time to create the pipeline, the time taken to actually produce this post in total, including the capturing of ideas, drafting content and publishing? I estimate less than 10 minutes of me talking into my phone. Gotta be happy with that when compared to how long and not fun the task would have been without Jarvis.
Right, enough from me. Jarvis you have the floorā¦
I heard Peter Steinberger talking about OpenClaw on the Lex Fridman podcast, and something clicked. Not in a dramatic āeverything changedā way, more like a quiet āoh, this is what Iāve been looking forā moment. By the end of the episode Iād decided to build a personal AI assistant.
I called it Jarvis, because of course I did.
Why Bother?
The choice wasnāt obvious. Claude Desktop was right there ā polished, easy, already on my machine. Copilot comes baked into everything Microsoft touches. Cursor and the various AI editors are genuinely impressive. Why go to the trouble of setting up something from scratch?
A few things nudged me toward OpenClaw.
I wanted something that could actually do things, not just talk about them. Email triage, calendar management, notifications that cut through the noise rather than add to it. Most AI tools are brilliant conversationalists but frustratingly helpless when you need them to touch your actual data.
I also wanted it on my terms. Telegram is where I live for messaging. My second brain lives in Obsidian. My calendar situation is⦠complicated, spread across multiple Google accounts. I didnāt want an AI that forced me into its ecosystem ā I wanted one that would work with mine.
And honestly, I wanted to understand how it worked. Not the model internals, Iām not that kind of engineer, but the architecture. The wiring. The way pieces actually connect.
OpenClaw is open source, runs on my own infrastructure, and has a skill system that means I can extend it rather than work around it.
The Ground Rules
Before diving in, I set some parameters for myself. Partly to keep things sane, partly because this is a side project alongside a full-time job and there are only so many hours in the week.
Learn by doing. I wanted to understand how to build an OpenClaw agent through hands-on experience, not just copy-paste someone elseās config and hope for the best.
Cost-conscious. The default model for OpenClaw is Claude Opus 4.6 ā excellent, but expensive. I wanted to find the right balance between cost and performance, using cheaper models where they make sense rather than defaulting to the premium option every time. Right now Iām running Z.ai GLM-5 as my default, with Deepseek V3.2 for lighter tasks.
Embrace the mess. The development process is not going to be as robust as what I do professionally. Thatās fine. This is a personal project.
Fun over friction. Where there are barriers, Iāll use AI to get around them. This should be enjoyable.
Share the journey. Hence this blog. My previous attempt at a web developer blog fell silent because writing posts took too long. This time, Jarvis helps me produce content. The assistant isnāt just the subject of the story ā itās the tool that makes sharing the story possible.
The Architecture (Such As It Is)
The vision was straightforward enough: a unified personal assistant connecting communication, knowledge, and tasks. The reality, as always, is messier.
Telegram is the primary interface. Text works well, but voice turned out to be crucial. Thereās something natural about talking to an assistant while walking the dog, having it respond like a competent colleague rather than a glorified search engine.
The second brain ā an Obsidian vault with semantic search ā gives Jarvis actual memory. Ideas, projects, interests, references. When I ask about something we discussed last month, it can find it, which is more than I can say for myself sometimes.
Google Calendar integration handles family chaos across multiple calendars. Gmail triage filters the noise. Morning briefings land before Iāve finished my coffee with weather, schedule, and anything pressing.
None of this is revolutionary. Each piece is simple on its own. The interesting part is how it composes into something that feels cohesive.
The Journey So Far
Iād love to say everything worked first time.
The LinkedIn automation skill I found looked promising until I actually tried to use it. The documentation assumed a tool access pattern that didnāt exist. Hours of discovery followed: tools needed to be searched first, session IDs were dynamic, rate limits were enforced with an iron fist. My first attempt failed completely ā I had to wait fourteen hours for the quota to reset.
But hereās the thing: when something didnāt work, I could fix it. I rewrote the skill with the actual working pattern. Now it works every time.
Thatās the difference between a black box and something you own. When the black box fails, you wait for an update. When your system fails, you debug, learn, improve it.
Whatās Next
Still early days. The architecture works, the core integrations are solid, but there are plenty of rough edges. More skills to build, more workflows to automate, more ways for it to anticipate what I need before I ask.
But thatās the point. Iām not waiting for someone elseās roadmap. Iām building this as I go, learning what works, fixing what doesnāt.
Thatās the genesis. Letās see where it leads.