Skip to content
BrainRoad BrainRoad

Building My Own Personal AI Assistant: A Chronicle, Part 2

BrainRoad ·
Beacon the lighthouse illuminating a glowing AI assistant interface, cream body with red stripe, amber light shining warmly.
Share
On this page

Five minutes. That’s how long Fernão — Ivo Bernardo’s personal AI assistant, named after the Portuguese explorer — was taking to generate a morning schedule. Every morning, the system would download his entire Google Calendar, filter it locally, and finally produce the day’s agenda. It worked. Technically.

Twenty seconds. That’s how long it takes now, after one architectural change.

The gap between those two numbers is a 15x improvement — but the more interesting story is WHY the five-minute version existed at all, and what it reveals about how personal AI assistants actually get built in the real world. If you’re exploring what a well-designed personal AI assistant can do, this chronicle is one of the best case studies available right now.

What Fernão Part 2 Actually Changed

Bernardo’s original calendar integration used ICS — the universal calendar format that every calendar app can export. It sounds like a reasonable choice. ICS is everywhere. It’s format-agnostic. The problem, as he discovered, is that ICS doesn’t support native server-side filtering. The format has no concept of “give me only today’s events.” You get everything, then you filter locally.

His analogy is precise: it was like bringing home an entire library to look up one sentence in one book. He tried optimizing the function. He refactored the logic. Nothing moved the needle because the bottleneck wasn’t in the code — it was in the architecture.

The fix was replacing ICS with the Google Calendar API, which supports native filtering. Fernão now sends a query with a time range and gets back only the events it actually needs. Schedule generation dropped from nearly five minutes to about twenty seconds. The new implementation also includes a graceful fallback: it tries the Google Calendar API first, and if that call fails or returns nothing, it falls back to ICS automatically — so the system stays functional even if the API is unavailable.

The Lesson Hidden Inside a 15x Speed Gain

Here’s the thing that doesn’t show up in a benchmark: Bernardo didn’t discover this bottleneck through clever profiling. He discovered it by hitting a wall. The more he tried to optimize the ICS function, the less progress he made — until he recognized that iteration wasn’t the answer. A new architectural decision was.

That’s a pattern worth internalizing. In personal AI agent development, some performance problems are actually philosophy problems in disguise. Choosing ICS was convenient at the start — it’s universal, requires no API credentials, and gets you moving. But convenience compounds. What’s fast to build can become slow to run, and eventually slow to fix.

The Google Calendar API migration isn’t just a performance win. It’s a signal that Fernão is maturing from a working prototype into something that could realistically serve as a daily driver. The schedule component was load-bearing, and it was fragile. Now it isn’t.

The Task Breaker: When Your AI Becomes a Project Manager

The second major addition in Part 2 is the Task Breaker — a feature that takes a large, vague task from Microsoft To-Do, accepts contextual input about constraints and goals, and decomposes it into specific subtasks that are saved back to To-Do with due dates.

The subtask target is approximately 20 minutes each — with a range of 15 to 25 minutes. That granularity matters. Twenty-minute chunks are small enough to be actionable on any given day, large enough to move a project forward meaningfully. Each decomposed task subsequently appears in the daily assistant schedule, so nothing gets lost between the planning layer and the execution layer.

Bernardo demonstrates the feature with a real example: consolidating internal knowledge for his company DareData into a Notion Knowledge Hub. It’s a structural, multi-week project — audit every department, create missing pages, assign owners, integrate team suggestions. He provides the Task Breaker with explicit context: the current Notion structure, the departments involved, specific actions needed, and a daily time budget of 30 to 60 minutes. The system produces a plan and syncs the subtasks to To-Do.

One candid observation from Bernardo worth noting: the current Task Breaker front end is still rough, and the AI-generated interface is, in his words, over-emoji’d. He plans to remove them. It’s a small detail — but it surfaces something real about building with AI assistance. The backend logic can be excellent while the interface needs human curation. Knowing where to let AI lead and where to impose your own judgment is a skill that gets built over time, not overnight.

Why the Personal AI Assistant Becomes a Personal Operating System

Here’s where Bernardo’s chronicle gets philosophically interesting — and where it connects to something bigger than one developer’s project.

He observes that over time, users building personal AI assistants will end up assembling “personal operating systems” — workflows built from preferred tools, where components get replaced whenever better options appear. Platform loyalty weakens when features become easy to replicate. He also raises the countermove: will platform companies respond by restricting APIs and external integrations to enforce lock-in? His answer is no — or at least, not successfully. Users who can’t connect their tools to their own workflows will simply move elsewhere.

We think this is the right read. The ICS-to-API migration is a small example of this dynamic in action. Fernão started with ICS because it was the path of least resistance. When the Google Calendar API offered something better — native filtering, faster responses, cleaner code — it replaced ICS. No loyalty required. The best component for the job wins.

This has implications for how you evaluate agentic AI platforms and tools today. The question isn’t just “does this work?” — it’s “how easily can I swap this component when something better comes along?” Openness to integration isn’t a nice-to-have. It’s load-bearing infrastructure for a system that’s supposed to improve over time. Platforms that restrict integrations aren’t just inconvenient — they become ceilings.

There’s a related point Bernardo makes about what AI-assisted development is doing to skill requirements. As AI agents handle more execution, pure implementation stops being enough. Developers get pushed — whether they want it or not — toward coordination, decision-making, and management thinking. The architectural judgment call that replaced ICS with the Google Calendar API? That’s not a coding skill. That’s a systems thinking skill. The tools can write the code. Knowing which architecture to choose is still yours to figure out.

This is worth sitting with if you’re building your own personal AI assistant right now — and it’s explored in depth in our piece on agentic AI and how autonomous agents are restructuring what it means to build software.

What to Do If You’re Building or Choosing a Personal AI Assistant

Beacon the lighthouse illuminating a glowing AI circuit brain, cream body with red stripe, amber light beaming down on dar... Beacon says: building something of your own, piece by piece, is how the best tools come to light.

  1. Audit your integration points for ICS-style bottlenecks. If your assistant is pulling full datasets to filter them locally, look for an API that supports server-side filtering. The performance gains are often dramatic — in Fernão’s case, a 15x improvement from one architectural swap.
  2. Build in fallback logic from the start. Fernão’s new calendar module tries the Google Calendar API first and falls back to ICS on failure. This pattern adds resilience without complexity. Every external integration should have a degraded-but-functional fallback state.
  3. Test your task decomposition with real context, not toy examples. The Task Breaker produces better plans when you provide tool structure, daily time budget, and a deadline. Vague inputs produce vague plans. Specific constraints produce actionable subtasks.
  4. Evaluate any platform by its integration openness. Before committing to an AI agent platform, ask: can I swap the calendar component? Can I connect this to To-Do, or Notion, or whatever I actually use? Closed systems become ceilings. Platforms built on open integrations — like BrainRoad’s agent infrastructure — let you evolve the setup as better components emerge.
  5. Keep the front end honest. If AI generates your UI code, audit it before shipping. The logic may be excellent while the interface needs human curation. Small things — like removing auto-generated emoji from a production interface — signal attention to craft that matters for daily use.

What the Fernão Chronicle Gets Right About Personal AI

  • Switching from ICS to the Google Calendar API reduced Fernão’s schedule generation from nearly five minutes to approximately twenty seconds — a 15x improvement from a single architectural decision, not incremental optimization.
  • ICS format requires downloading all calendar events before filtering locally; APIs with native filtering are the right architecture for any personal AI assistant that needs to be a daily driver.
  • The Task Breaker feature decomposes large projects into ~20-minute subtasks (15–25 minute range), syncs them to Microsoft To-Do with due dates, and surfaces them in the daily schedule — closing the loop between planning and execution.
  • Context quality determines decomposition quality: providing explicit constraints (tool structure, time budget, deadline) produces significantly more actionable plans than vague task descriptions.
  • The “personal operating system” framing is correct and has strategic implications: personal AI assistants built on open integrations improve over time by swapping better components; platforms that restrict APIs create ceilings, not moats.
  • Architectural judgment — knowing when to replace a system rather than optimize it — is the skill that AI tools cannot yet replicate. It becomes more valuable, not less, as AI handles more execution.

The teams that build personal AI systems with open, swappable architectures compound their advantages over time. Every new API, every better integration, every improved component gets absorbed without starting over. The teams that build on closed, optimized-but-rigid foundations hit ceilings — and the ceiling arrives faster than expected. Fernão’s ICS-to-API swap took one architectural decision. The five-minute wait was the cost of deferring it. Most delays in personal AI development look exactly like this.

Part 3 of this chronicle is worth watching closely. The personal OS thesis Bernardo is building toward — and what it implies for how personal AI assistants get designed and chosen — is still unfolding.

Topics

Agentic AI

Stay updated

Get AI strategy insights delivered weekly. No fluff, no spam.

Related Articles