Skip to content
Chris Zhan
Go back

The AI bottleneck isn't the model

At the end of 2025, I asked ChatGPT to do an annual review with me. It went through a full year of conversation history and pulled out the main threads — career direction, health, financial decisions, plans to move abroad — along with three things I kept getting stuck on, and a note to my 2026 self. That was the first time I felt like the answer was about me, not about the world in general.

But what it knew about me was only what I’d mentioned in conversation. Everything it said came from things I’d already told it — self-reported, incomplete, shaped by what happened to come up. Ask it what I actually spent on food that year, or how my sleep tracked against my workout schedule, and it had nothing. That data existed. It just wasn’t there.

So I started building the layer underneath. Financial data goes into one system. Activity and tasks go into another — Todoist, calendar, Apple Health, and others. A third system handles notes and knowledge. The split is because each system answers different questions. I need to know whether an answer came from financial data or behavioral data. Once they’re in the same place, that stops being possible.

All queries go through a single gateway I built myself. If agents hit each data source directly, I have no way of knowing what was actually sent and what came back when something looks wrong. With a full request log, I can look it up instead of guessing.

The rest of the infrastructure follows the same principle. Gitea and Jenkins exist because changes to data processing logic need a proper release path — I don’t edit live systems. Cloudflare Access exists because these services need to be reachable from outside my network, but not publicly.

What changed how I use AI wasn’t a better model or a better prompt. It was having the data there.


Share this post:

Next Post
Don't trust an agent's account of what it did — audit the log