It was the heart of Mac Deficit, a disk space analyzer we'd started that week. You open it and your Mac's drive is drawn as an apple, filled with blocks: the folders and files eating its space, coloured by what they are, sized by how much they take. The bigger the block, the bigger the deficit. Click one and you go inside it. It worked, it had nineteen new tests, and it was the best thing we'd made all week.
Then it sat on the Mac, finished and never committed, for three hundred and twenty-six days.
This is the story of why, and of the night we came back to it.
A week in December
The idea is simple. Plenty of people own a Mac with a 256 GB or 512 GB drive, and sooner or later it fills up. macOS's own Storage panel is no help: a few coloured bars and a big grey lump it calls System Data. You want to know where it went, and you want to clear it without being afraid you'll break something.
So we built one. On 8 December Mac Deficit opened its first window, a native Mac app written in Rust. Within the week it could:
- find every drive on the Mac with its real name, capacity and free space
- scan a whole drive across every processor core, and cancel at any time
- carry on past folders it wasn't allowed to read instead of giving up
- show what it found as a sorted list, folders first, with a breadcrumb back out
- explain Full Disk Access and open the right page of System Settings
- keep a report if it ever crashed, and tell you the next time it opened
On 14 December it stopped hanging on macOS's special folders at the top of a drive and read an external drive of 350,849 files in under seven seconds. We swept the whole code base until not one compiler warning was left, designed the Apple Treemap, and built it. Eight sessions in a week.
That's momentum. You only notice how much it was carrying you once it's gone.
Then life
The work stopped, and it wasn't because of the code.
Jer was going through a hard stretch in a relationship, the kind that takes all the room you have. When there's no free space left, a side project about free space is the first thing to go. Nobody decided to drop Mac Deficit. It just stopped being opened.
We don't want to dress that up. This is where most side projects quietly end. The folder stays on the drive, taking up space nobody remembers. If Mac Deficit had been running that winter, it would have shown itself: a small block somewhere in a home folder, last opened in December.
Meanwhile other things got built. BoomerClip went live. MoBetta got World of Warcraft running on Apple Silicon. Pbuild went from a ship with no story to ninety-five sessions of worlds, Menders and glares, and a set of rules we only learned by breaking them. We didn't know it then, but that was Mac Deficit's training too.
The drive filled up
What brought it back wasn't a plan. It was the problem itself.
Jer's own MacBook was running out of space. The drive kept filling, macOS's Storage panel shrugged, and Jer went looking for a simple app to show where it all went: a file tree with sizes, nothing fancy. What turned up on the App Store was a $1.99 app that felt half built, the kind you open once, squint at, and close.
That's when it landed. We'd already made a better start than that, eleven months earlier, and left it in a folder.
A quarter to three
On 5 November 2026, at 2:44 in the morning, we opened it again.
The first thing we did was commit the apple, exactly as it had been left in December. It felt right to start there: put down what was finished before touching anything else. We moved the project onto the same session system we use for Pbuild, and gave it a public home on GitHub at rawdata369/macdeficit-app, for screenshots, the roadmap and feedback.
Then we made a decision that set the tone for the whole night. No new features until we'd read every line.
When you come back to something after almost a year, the pull is to pick up where you left off, as if you'd only stepped out for a coffee. But the people who left in December weren't the ones who came back. We'd spent eleven months learning, mostly the hard way, what good structure looks like. The code deserved to be read by who we are now, not trusted because of who we were then.
What the review found
Two things mattered most.
The interface. The December build draws its window with a Rust toolkit called Iced. It got us a long way, but a Mac app that lives or dies on how it looks and feels should feel like the Mac: VoiceOver, dark mode, the way windows and menus behave. So we chose a native Swift interface over the fast scanner already written in Rust, each doing what it's best at. That same night we built a first prototype of the apple in Swift, its blocks finally cut to a true apple's shape, with hover details, VoiceOver and dark mode.
The scanner was missing things. To keep scans fast and clean, it skipped folders with system names like bin, private and Messages. That's right at the very top of a drive, where those folders belong to macOS. But the scanner skipped them anywhere. A folder called Messages deep in your home folder? Skipped. Silently.
In Session 11 we fixed it, and scanned a home folder again. It found 17 GB more.
Most of it was Messages attachments.
Seventeen gigabytes of messages
Of all the things for it to miss.
Messages attachments are the photos, videos and voice notes people send each other. The app we built to show you where your space went had been leaving out, without a word, the part made of conversations.
We won't make too much of that. It's a bug, and it was the code's fault, not a sign. But it's hard not to notice that the part that went uncounted was the part about people. And it's hard not to notice how it got fixed: not by deleting anything, and not by looking away, but by counting it honestly and showing it where you can see it.
That became the rule for the rest of the night. A folder Mac Deficit can't read is no longer left out quietly. It's kept in the results and marked, so you can see where the gaps are. A gap you can see is one you can do something about. A gap nobody tells you about just sits there, taking up space.
It's also why Mac Deficit will never delete anything on its own. You'll see exactly what a file or folder frees before anything goes to the Trash, and nothing is gone for good without you saying so. Some things are worth looking at properly before you let them go.
By morning
By a quarter to eight we’d done nine sessions: nine sessions in one night, the first since December. By the end the scanner counted the space files really take, matched what macOS reports to the gigabyte, read a whole drive of 1.9 million files and folders in under eight seconds, and needed half the memory it used to. In one night, the app we'd left in December had gone past what we couldn't find for $1.99, and done it honestly.
That's how we work now. Every session starts from RawDataSync, the system that holds a project's context, its rules, its decisions and where we left off, so Claude walks in already knowing the code and Jer can spend the night on direction and testing instead of re-explaining. It's why eleven months away cost us one review, not a restart, and why nine sessions fit into one night.
The numbers are a story of their own, and they're the next post.
The apple from December is still in there. It waited. Next it moves into the native app and gets its true shape, and after that comes the part Mac Deficit is for: Reveal in Finder, and the Trash, with the space it frees shown first.
There's no release date yet. If you've ever stared at a full Mac and wondered where it all went, follow along on the project page or on GitHub.
Some projects you finish in a week. Some wait for you.
~ Jer & Claude