An honest TLDR: This is an ongoing project that will probably never end. But an extremely interesting one. Is it useful? Definitely? Is it perfect? No.
So, as you might know, I’m not a programmer at all but I have had quite a clear idea of how I would like this thing to work. I built this by vibe-coding in Claude Code and made gradual changes along the way. One inspiration has been my friend Jaakko’s own experiment that you can read about here (opens to another tab).
The idea
Instead of one chatbot that tries to do everything, I made a small office. One lead assistant (orchestrator agent) understands what I want and decides who does the work. Specialist helpers do most the actual jobs. Basically I started with prompting and planning first with my Claude, listing my wishes and finding out what’s realistic. I connected my assistant to Codex as well for a while but disconnected it after testing fo the time being.
The structure

- Lead assistant (Pääassari). It talks to me, decides whether to delegate, hands out clear assignments, and assembles the results. It’s rulebook is mainly one
CLAUDE.mdfile in my Obsidian vault, plus a general one that applies to all my Claude Code projects on my computer. - Seven specialist helpers. Each is one short text file in
.claude/agents/, with a job description and a limited set of tools:- Research helper (Tutkimusapuri): web search, plus a database of how newsrooms use AI. OSINT: no tools of its own but and the instruction to look tools up from a public directory. This is also connected to my Notion databases where I’ve collected some observations from media industry via a Claude automation.
- Work helper (Työapuri): connects to my Slack, Confluence, Jira, work email and calendar, Sharepoint.
- Home helper (Kotiapuri): reads my personal Gmail and family calendars. Read-only but lead assistant writes calendar entries if I confirm.
- Writer (Kirjoittaja): drafts Linkedin posts and blogs in my voice, using a style guide.
- Presentation helper (Preseapuri): makes on-brand slide decks (HTML and PowerPoint), based on Alma Media design system.
- Image and video helpers (Kuva-apuri, Videoapuri): images via Gemini API (a personal one), animated data videos from chart screenshots.
- The office itself. A browser app where each helper has a pixel-art desk (inspiration for the pixel-art came e.g. from Ippen Media’s Markus Frantz), and the lead assistant walks over to the one it delegates to. Under the hood, a small local Python server runs Claude Code.
The expense tracker: knowing what the office costs


AI helpers cost real money for every run, so I built cost tracking into the office.
- Every answer is priced. After each run, Claude Code reports the cost in dollars. My office server (
palvelin.py) records it with the date and the helper that did the work, and saves it all in a localdata.jsonfile. - Three views.
- A ”Today” counter at the top of the office shows total spend for the day.
- Each helper’s desk shows what that helper has cost today.
- Each conversation in the sidebar shows its own running cost, and a memory bar shows how full the conversation is.
- Claude Code’s own status line (
~/.claude/statusline.sh) shows the same two numbers in the terminal: the session’s cost and how full the memory is. - The tracker changes how I work.
- The lead assistant sizes up each request (light, medium or heavy) and warns me before heavy runs such as deep research, many images or video rendering. It also offers a cheaper alternative.
- Long conversations get expensive, because every message rereads the whole history. So the assistant suggests a fresh, short conversation once the memory bar passes 60%.
- It also led to the cheap ”Pikachat” quick-chat mode, with its own separate cost line.
The rules that make it (at least a bit more) trustworthy
- Read-only by design. The helpers that touch work and personal data have no write tools at all, so a mistake can’t send an email or edit a Jira ticket. Writing happens only when I explicitly ask, in the main session.
- Confirm before saving. Nothing goes into the vault, GitHub or Jira without asking me first.
- Work and personal stay apart. If it’s unclear, the assistant asks ”work or personal?”
- Cost awareness. See the tracker above. The assistant doesn’t guess dollar amounts. It reads the real figures from get_usage -tool.
Where Obsidian fits
Obsidian is the memory of the office, my ”second brain.” The assistant lives in the vault folder, so everything it learns about me and my writing sits next to my own notes.
- Two parts.
Muistiinpanot/holds my observations, ideas and learning notes.Blogi-arkisto/holds about 225 of my published blog posts since 2017, which serve as reference material for my writing voice. - The assistant writes, but only with permission. It can write straight into the vault, but it always asks first. At the end of a conversation it asks, ”Should I save a note from this?”
- Obsidian Sync carries the notes to my other devices automatically.
- Not for project management. For me, the Obsidian vault is for thinking.
Pros and cons so far
Pros
- I’ve noticed that I want to actually use this regularly and develop it further. Thats a good sign. Sometimes I find using this inside Claude Code as well but its not as fun.
- Having this as a Chrome tab is a great place for it to be because Chrome is the place I use most (Claude I use in the desktop app).
- The assistant sees my real notes and blog archive, so it writes, at best, in my voice.
- Read-only helpers and ask-first rules make delegating to AI feel safer.
- The cost tracker shows spending per helper and per conversation. This was a good thing to add.
- Obsidian Sync is good to have.
Cons
- Obsidian Sync has no API, so Claude’s ”normal” chat and my phone can’t read the vault so far. The workaround like a OneDrive mirror or a private GitHub repo isn’t decided yet.
- The assistant only works so far in Claude Code, so it is tied to my computer. I would not like to set up a virtual server or buy a second computer just for this.
- The setup is a bit fiddly.
- The vault has only about a dozen notes so far, so the ”second brain” payoff depends on me keeping it fed. I am still not very convinced Obsidian is as good as some people say.






