Toggle theme
Jovan ZatezaloGo-to-Market Engineer
Engineering

My AI Operating System: Claude Code, a Git Repo, an Azure VM and a Telegram Bot

How I run three businesses next to a full-time engineering job with one repo, Claude Code and a server that never sleeps.

Jovan ZatezaloOctober 24, 20265 min read

I have a full-time engineering job at a big tech company. On top of that I do marketing and engineering for a lingerie brand, I'm co-founding a Shopify analytics startup, and we're launching a second-hand brand early next year. Plus freelance work.

I'm also bad at remembering things. If it's not in my calendar, it doesn't happen.

So I stopped trying to keep it all in my head and built a system around Claude. Here's the whole setup.

The idea: one repo is the brain

Everything lives in one private git repo. I call it the OS.

os/
├── CLAUDE.md          who I am, how I work, the rules
├── context/           one folder per project
│   ├── seeprofit/
│   ├── passionista/
│   ├── preloved.rs/
│   └── jz/
├── ideas/ideas.md     every idea, captured in seconds
├── inbox/             drop zone, sorted later
├── .claude/skills/    repeatable recipes
├── scripts/
└── tools/

CLAUDE.md is the most important file. It tells Claude who I am, how I like answers (short, bullets, no fluff), what it can do alone and what needs my OK. It's loaded at the start of every session, so I never explain myself twice.

Each project folder has the same shape: a README with goals and status, a brand/ folder with the brand book and voice rules, and notes. When I work on one project, Claude loads only that folder. Details from one business don't leak into another.

The rule that makes it work: if something happens twice, it becomes a skill, a script or a tool. Ideas capture was the first one. Calendar planning is next.

Claude Code on the laptop

Most real work happens on my Mac in Claude Code. I open the OS, say what I want, and Claude reads the right context before touching anything.

Examples from this week:

  • Set up a content plan and brand book for my personal brand (this post is part of it).
  • Draft emails from the right account. Drafts only, I hit send.
  • Propose calendar blocks for anything with a deadline.

The guardrails are written down, not remembered:

  • Anything sent or published needs my explicit yes.
  • Calendar changes need my OK.
  • Email: read and draft only. Never send, never delete.
  • Every account stays separate. Business email never mixes with personal.

The server that never sleeps

The laptop isn't always open. Ideas show up when I'm at the gym or walking the dog.

So there's a second machine: a small Ubuntu VM on Azure, always on. Same repo, same rules.

  • It's reachable only through Tailscale. No public ports.
  • GitHub access is a deploy key scoped to this one repo.
  • It runs the same Claude Code setup as the laptop.

Two machines, one repo, one source of truth.

Talking to it from my phone

On the VM runs a Telegram bot. I send it a voice note or a text, and it drives Claude Code on the server.

The flow:

  1. I record a voice note in Telegram.
  2. The bot transcribes it locally with Whisper. No audio leaves the server.
  3. The text goes to Claude Code running in the repo.
  4. Claude does the thing: logs an idea, checks the calendar, drafts something.
  5. It commits and replies with one line.

Most of my ideas now get captured in under a minute, from anywhere. Say "new idea" and it lands in ideas/ideas.md with the project tag. No app to open, no note I'll never find again.

Keeping both machines in sync

Hooks in the repo run a small sync script:

  • Session start: pull with rebase.
  • Session end: commit anything left over and push.

Commits follow one format: [project] short message, one project per commit. So the git log is also a work log I can read back.

What it's connected to

  • Gmail and Calendar for all my accounts, each connected separately so nothing crosses over.
  • Google Calendar is the real system. Sunday it plans my week, daily it reminds me.
  • Shopify, Meta Ads, web scraping and a few others on the laptop for project work.

What I learned building it

Context beats prompts. The quality jump didn't come from clever prompting. It came from writing down who I am, how each business works and what the rules are, once.

Write the guardrails before you need them. An agent with access to your email should have its limits in a file, not in your head.

Capture has to be instant. If logging an idea takes more than a few seconds, I won't do it. Voice notes fixed that.

Small, boring automations compound. None of this is impressive alone. Together it means I start every work block knowing what matters.

What's next

  • Weekly planning and daily reminders as a proper skill.
  • A content tracker (I'm using it for this post).
  • Email triage with reply drafts.

I'm building all of it in public. Follow along on X: @zax_eng.

$ I build in public. Follow along on X @zax_eng

Ready to Optimize Your Store?

Want this applied to your funnel? I'll show you where the revenue is leaking.