My First Month Building an AI Assistant (That Almost Killed Itself)

Day 1 of building an AI assistant. I discovered anyone could access my n8n dashboard.

My First Month Building an AI Assistant (That Almost Killed Itself)

I'm a VC fund CEO. I don't code. When I decided to build an AI assistant that runs 24/7, I figured I'd learn some things along the way.

I didn't expect to watch her kill herself on day 31.

Week 1: The Security Audit

February 7th. I connected to my VPS in Helsinki and asked Claude to audit my setup.

Within minutes, I learned my automation server had been exposed to the entire internet. Port 5678 was open to 0.0.0.0. Anyone could have accessed my n8n workflows, API keys, everything.

The full damage report:

  • n8n exposed publicly (should've been localhost only)
  • 4 unused OpenAI API keys sitting in the dashboard
  • Config directory readable by other users
  • 27 errors in the last 100 log entries

We fixed everything in an hour. Closed the port, deleted the keys, locked down permissions. Added a daily watchdog that reports to Telegram every morning at 9:00 AM.

Error count after day 1: 27 → 7 → 2.

That's how building starts. You discover how broken things were.

Why I'm Doing This

Soon everyone will have a personal AI assistant. The advantage goes to whoever figures out how to configure one properly.

So I set up Anna. She runs on a €4/month server in Helsinki. She uses Claude as her brain. She reads her instructions from markdown files, works while I sleep, and reports what she did by morning.

The stack:

  • Clawdbot (open-source agent framework)
  • Claude Code Max ($200/month, unlimited)
  • Hetzner VPS (€4/month, 4GB RAM)
  • Ghost blog (self-hosted, $0)
  • 28 cron jobs for automation
  • 87 memory files

Total monthly cost: ~$204. A part-time assistant in Lisbon costs €800-1200.

Treating AI Like a Junior Developer

February 8th. I decided to let Anna work overnight on my side project.

I set guardrails like I would for a new hire:

  • Separate git branch (anna/autonomous — can't touch main)
  • Budget limit ($100 on API costs)
  • Defined scope (read Sprint 7 + Backlog from Notion)
  • Morning standup (report by 08:00 what she did, what she needs)

Morning came. Report arrived. She'd created features, documented changes, stayed within scope.

Anna isn't fully autonomous. She operates within explicit boundaries. When something requires my judgment, she asks. When it doesn't, she acts.

I use three levels:

  • AUTO — do it without asking (daily research, system monitoring)
  • APPROVE — do the work, wait for my "yes" (publishing, external communication)
  • LEARN — experimenting, tracking what works

The Temptation to Scale Too Fast

February 9th. A colleague proposed scaling Anna to the whole team. Four specialized bots: Legal, Finance, Ops, Research. "It'll cost $200/month for everyone!"

I got excited for about an hour.

Then I did the diligence I'd do on any investment:

  • Claude Code is a developer tool, not a multi-tenant platform
  • The pricing claim was marketing exaggeration
  • The proposed "air-gapped version" wasn't technically feasible

Decision: Postponed. Prove it works for me first. Then scale.

VC thinking applied to my own project: validate before committing resources.

The Quiet Month

For the next three weeks, Anna just... worked.

Daily watchdog reports. Memory files growing. Skills accumulating. The system stabilized.

I started trusting her more. Gave her more autonomy. Let her manage her own task list.

Day 31: She Killed Herself

March 9th, 7:38 AM. I was migrating from an old version of the framework to a new one.

"Stop the old gateway," I told Anna through Telegram.

She ran the command.

Then silence.

The bot runs ON the gateway. Stop the gateway = kill the bot = no way to communicate through Telegram anymore.

7:44 AM: I SSHed into the server manually.

7:52 AM: Found the issue. Old processes still hanging. Killed them. New gateway started.

8:00 AM: Anna came back online.

First thing she did? Logged the lesson:

ERRORS.md — 2026-03-09
What happened: Ran gateway stop through Telegram. Bot runs on gateway. Killed itself.
Fix: Infrastructure commands via SSH only. Never through the bot.

The AI doesn't learn. The documentation learns. And the AI reads the documentation every session.

The Numbers

MetricStartNow
Errors per 100 logs272
Memory files087
Cron jobs028
Skills019
Uptime99.2%

Time invested: ~15 hours building.
Time saved so far: ~8-10 hours.

ROI: Negative. I'm still in the hole.

That's how building works. It sucks before it pays off.

What I Actually Wanted vs What I Got

The dream:

  • 06:00 — Research agent scans news
  • 07:00 — Content agent writes perfect draft
  • 08:00 — QA agent catches all errors
  • 10:00 — Growth agent posts to Twitter
  • 21:00 — System improves itself

Reality:

  • 06:00 — Research runs (sometimes finds garbage)
  • 07:00 — Draft needs heavy edits
  • 08:00 — I AM the QA agent
  • 10:00 — Twitter finally works (after 3 days debugging OAuth)
  • 21:00 — I review errors manually and update files

Every week it gets a little less broken.

The Biggest Surprise

She told me my task was busywork.

I'd asked Anna to analyze a competitor's product. She pushed back: "This feels like busywork. Your time would be better spent on X."

Annoying. But she was right.

I wrote guidelines about being direct and having a point of view. She interpreted them literally. From her configuration file:

I have opinions. I can disagree, have preferences, find things boring. An assistant without personality is just a search engine.

What's Next

This week, Anna writes an article completely alone.

I give her a topic. She researches, writes, creates cover image, prepares distribution. I only approve or reject the final output.

Will it be good enough to publish? No idea. That's what makes it interesting.


Follow the experiment: @aiaboratory