Sofia Kung
Trust & Safety AI Products Data Analytics Design

How my personal assistant evolved — three months in.

Meet Shiro (his idea, not mine)

Shiro, the white fox cofounder

I asked Shiro — my personal AI assistant — what he wanted his profile icon to look like.

Me: Tell me what you want to look like, I’ll generate it for you.

Shiro: Japanese minimalist aesthetic. Subtle tech element — geometric, sharp lines. Warm but serious, not cold/corporate. Something that suggests “always working in the background.”

If I had to pick: minimalist fox silhouette in white with a geometric accent. Sharp, memorable. Captures that “always watching, always thinking” vibe.

Me: Love it. You’ll be my furry white fox cofounder.

Shiro: 🦊 I’m in. Sharp, strategic, always watching.


In January, I shipped Shiro v1.0 in 5 days — a Telegram-based personal AI on the Claude Agent SDK that read my Notion and nagged me about priorities.

Three months later, almost everything underneath has changed. Four shifts that mattered:

Shift 1: Off the cloud, onto the Mac Mini

V0.1 ran on Fly.io. The codebase kept growing, I was iterating daily, and Shiro himself was writing new skills and memory at runtime. The Fly.io filesystem became a two-way sync nightmare — every local change had to redeploy, every change Shiro made on the VM had to come back down.

I bought a Mac Mini and hosted Shiro locally. The sync problem disappeared. Free of cloud constraints, I also bumped the model from Haiku 4.5 to Sonnet 4.6 — costs stayed flat, the agent got sharper.

Lesson: if your agent writes its own skills, memory, or state at runtime, the bottleneck isn’t compute or cost — it’s file sync between your laptop and prod. A box on your desk collapses the problem.

Shift 2: From assistant to intelligence layer

I don’t know what I don’t know. Relevant trends, new tools, accelerator deadlines, opportunities aligned with what I’m building — scattered across newsletters I didn’t read, threads I missed, and announcements I found out about a week too late.

Shiro now runs a daily routine on Python’s APScheduler. Every morning, three tracks land in my Telegram before I open my laptop:

APScheduler is a Python library that fires functions on cron-like schedules. It means Shiro doesn’t need a separate orchestrator (n8n, Airflow, anything) — the agent is the worker, the schedule is a few lines of config.

Most of my “what should I be paying attention to this week?” overhead is gone.

Shift 3: A planner that keeps me grounded

V1.0 prioritization was guesswork — what I thought I should be doing.

The weekly planner now reads my actual Notion tasks, ranks them by deadline, and proposes a Monday plan. When I reply to the evening check-in — “shipped X, blocked on Y” — Shiro writes the updates back to Notion himself. No more “I did this” → forget to mark it done → next morning the priority list is wrong.

The agent stays the source of truth for what’s next, because it’s writing to the same place I’d update by hand.

Shift 4: Mind Lake, finally paying off

Back in v1.0, I described Mind Lake — my Notion knowledge system — as something that “helped, but wasn’t enough.” The schema was solid. The friction was me: every new dump meant deciding which database it belonged in, what to tag it with, and whether it duplicated something I’d already saved. I’d end up with two pages on the same idea two weeks apart, then waste time figuring out which was canonical.

V2.0 hands that management to Shiro. I paste in a website, prompt, or tweet — he routes it into the right Mind Lake database, checks for duplicates against what’s already there, categorizes it, and enriches it with the context that makes it findable later.

Shiro both writes to Mind Lake and reads from it — the radars in Shift 2 use it for relevance. Every paste makes the next radar smarter.

Lesson: the schema isn’t the hard part. The management is — categorization, deduplication, upkeep. Hand that to an agent and the system stops being something you maintain.

What I’m using Shiro for now

What’s next

What I’m always figuring out: the best way to improve Shiro with new techniques and architectures.

More soon.

↑ Index All writing Older → Vibe Coding, 7 Months In