Two mortgages. Two servicers. Two portals that no longer exist.

When my first mortgage was sold — and then sold again — I watched years of payment history disappear behind login screens that redirected to nowhere. The data existed somewhere. But it wasn't mine anymore. It belonged to whoever was currently servicing the loan, on whatever retention schedule they'd decided was sufficient.

That bothered me.

Not in an abstract way. In a very practical way. I'm the kind of person who wants to know where every dollar went and why. I track my financial life closely — not obsessively, but intentionally. I have bank accounts, brokerage accounts, retirement accounts, a business, real estate. Each institution has its own portal, its own data format, its own definition of how long your history is worth keeping. None of them talk to each other. None of them show you the complete picture.

For years I tried to solve this with spreadsheets. Then with SaaS tools. Then with more spreadsheets. The SaaS tools were the worst — they held my data inside their platform, showed me a dashboard I didn't control, and charged me monthly for the privilege of not actually owning anything.

Eventually I got tired of working around the problem and decided to solve it.

AsciiStatement started as a personal project. A set of scripts that would pull data from each of my institutions, reconcile it against the source statements, and compile everything into a single document. No cloud dependency. No subscription. No portal that could disappear. Just a permanent HTML file that I control completely.

What surprised me was how complete the picture became once everything was in one place. My business P&L sitting next to my personal balance sheet. My rental property equity tracked alongside my brokerage accounts. Every mortgage servicer — past and present — in one place. My actual net worth, not the partial version any single institution could show me.

That's the thing about financial data scattered across institutions — you can't see the whole picture until it's all in one place. And most people never put it all in one place.

AsciiStatement is my attempt to fix that. For myself first. And now, carefully, for a small number of clients who have the same problem and the same frustration with the available solutions.

It's not for everyone. It's not trying to be. But if you've ever stared at a blank portal redirect where your mortgage history used to live, you know exactly why I built it.

— R. Blakeslee