The more personal tools I build, the more convinced I am that the bottleneck isn’t AI. It’s companies treating my own data like they own it.

A couple months ago I tried to download a year of my Chase credit card transactions for my own finance tool. There’s no API for me. There’s barely an export. You pick a date range and hit some arbitrary cap under what you asked for. So you download a CSV, do it again for the next slice, and stitch the pieces together. For my own transactions, which I already have access to.

Building got cheap

A couple years ago, if you wanted your own finance dashboard, you paid a developer a lot of money or you gave up. So “export to CSV once a year” was a fine answer. Nobody was going to do anything with it anyway.

That’s over. I’m not really a developer, but I have Claude Code. In the last year I’ve built tools that a small firm would have billed tens of thousands of dollars for a decade ago. So has everyone else doing what folks now call “vibecoding.” The barrier isn’t skill or cost anymore. It’s access to the data.

Where the walls are

Chase is the clearest case. I don’t just want new transactions. I want years of them. History is where the useful answers live: what I actually spent on groceries in 2022, or which months utilities spike.

What I get is a web form with download caps and a CSV missing fields the website shows me. There’s no sanctioned API for personal accounts. Third-party aggregators exist, but then I’m handing my banking credentials to a middleman whose business model turns on knowing what I spend. Chase’s answer is “our app is nice, isn’t it?”

It’s the same everywhere I look. To back up my own Gmail, I had to create a Google Cloud project and publish an app to production. All that just so my own account could talk to my own script. Hospitals export health records in a format that’s portable on paper and a puzzle in practice. (Eight separate importers later, I have a searchable archive of my own health.)

The data exists. I have a right to it. Everything between those two facts is a maze.

A better test for “portable”

Most of these companies will say they support data portability. They’ll cite a GDPR provision or point to a settings page three menus deep.

Here’s the test I’d use instead. Can one person with an AI assistant get their full history out and into something useful by the end of a Tuesday night?

If not, you support the appearance of portability. I don’t think that holds for long. Enough people will try what I’m trying, hit the same walls, and notice.

The bar should look like this:

  • Full history, always. No arbitrary row caps, no “last 18 months only,” no “pay to unlock historical data.” If I’ve been a customer for ten years, I can download ten years.
  • A usable format. A real standard like JSON or well-structured CSV, or a plain, documented schema. Not a PDF of a report. Not XML that needs a parser to read.
  • Programmatic access. Read-only API tokens on personal accounts should become standard, the way two-factor auth did. The bank that ships it first will eat the banks that don’t.

None of this needs a new law. It’s a product decision about whether data portability is a real feature or a compliance checkbox.

The ask

Say you run product at a company that holds people’s money, health records or email. A growing number of your customers can now build the tool they actually need. The only thing in their way is whether they can get their data out.

Get out of the way first. The rest will sort itself out.

More in my Building in Public series.