flation, rebuilt (and now on the Mac)

Friday, 23 October, 2026

⨳ 4 minute read ⨳ 957 words ⨳ SwiftData ⨳ SwiftUI ⨳ app ⨳ iOS ⨳ iPad ⨳ macOS ⨳

TLDR; flation has been rewritten from the ground up, and it now runs natively on the Mac.

When I first released flation in March 2024, it did one thing: adjust an amount between two months using a single CPI series (CUUR0000SA0). The CPI values were baked right into the app. That kept things simple, but it meant every time BLS published a new month of data, I had to update the data, build, and push a new version through App Store review. The changelog has 29 releases that say nothing more than “Extended CPI data.”

I was growing tired of that monthly chore; I occasionally missed a CPI data release by a day or two and only once completely missed a release (March 2026). I also wanted to see what was possible with more than one CPI series.

flation on iPhone

The timeline

I started the rewrite branch in January 2025; it’s heading to the App Store at the end of October 2026. That’s about 21 months on the calendar, but it was far from 21 months of steady work. The branch has 112 commits, and most of them landed in a few bursts.

Early 2025. The big change came first: flation started downloading CPI data directly from the BLS flat files instead of carrying it around. Alongside that came new data models and business cycle data from the National Bureau of Economic Research for marking recessions on the charts. In April I added the reference value to the converter. Then the branch sat for most of the summer while the main branch kept getting its monthly data releases.

October 2025 – February 2026. This is where the app changed shape.

March – June 2026. Nothing on the branch. The main branch got its monthly data updates, as usual.

July 2026. Storing all of those observations in one big pile made launches painfully slow; a warm launch took about 30 seconds. I reworked the data layer so each view fetches only the series it needs. Warm launch dropped to about 0.7 seconds, and nearly all of that is the network check for new BLS data. The same week I added milestones: several amounts charted against one series, each with values that can change over time. Milestones eventually became Track Monies.

September 2026. A full code review of the branch turned up a long list of subscription, data pipeline, and UI bugs; I worked through all of them. This was also when the Mac version came together (more on that below), along with:

October 2026. The finishing work:

Going native on the Mac

flation has always been a single multiplatform SwiftUI target, so the Mac version wasn’t a port so much as a long list of “this doesn’t look right on a Mac.” A few examples:

Compare Series on the Mac

The platform-specific code lives in a small compatibility file and a couple dozen #if os(...) blocks; everything else is shared across iPhone, iPad, and Mac.

Free, Pro, and legacy

The old version was a paid app. The new version is free to download with a yearly Pro subscription.

Free:

Pro:

Legacy: anyone who purchased flation as a paid app is grandfathered into Pro for life, no subscription needed.

Help

Modern LLM coding agents were a big help along the way. I used them to:

The app now weighs in at just 12,000 lines of actual Swift code across 60 files.

The details are on the flation page.


flation, rebuilt (and now on the Mac) - October 23, 2026 - Richard Koopmann