Every impressive AI demo sits on top of a boring question: where does the data live, and can you actually get to it?
The search firm I build for had a candidate database going back years, tens of thousands of people. The problem was not the data. It was the pipe. Their history sat behind a homegrown bot wrapping a third-party API that throttled hard and often. Pull too much, too fast, and it slammed the door. So the data was technically there and practically stuck.
The intelligence was never the bottleneck
You can write the smartest sourcing agent in the world. If it reads through a straw that closes every few hundred requests, it is slow, flaky, and it quietly skips people. This week I spent my time not on the clever part but on the plumbing: getting the full candidate history out of the old bot and into an open-source CRM the team actually owns.
Owning the data store changes everything downstream. The overnight sourcer, the pre-call briefer, the “who did we talk to two years ago” lookup, all of it now reads from one place the team controls, at whatever speed it needs, without asking a rate limiter for permission.
The lesson I keep relearning
Your agents are only as good as the layer they stand on. A model reasoning over data it can barely reach is not smart, it is blocked. When someone shows me a flashy agent and asks why theirs feels fragile, the answer is almost always underneath: the data is locked behind a limit, a login, or a format nobody can query.
Fix the floor before you build the tower. Unglamorous, and the single most useful thing I did all week.