← All posts

Getting ready for Apple's review.

The first step of the app said "done" and saved nothing. The subscription setup was stuck. And a test caught a bug that would have charged you for nothing.

On August 22nd the goal changed. Up to then I'd been thinking about getting Neeos into people's hands. That day I wrote down something narrower: get approved by Apple, so that when I decide to release it, nothing stands in the way. Approval and release are different things, and I wanted the first one done early.

The step that said "done" and did nothing

When you start Neeos, one of the first steps lets you bring in information you've already told another AI, by pasting it in. It looked fine. You pasted, you tapped, it said done. But it never saved anything. Accounts are encrypted, our server correctly refused to store plain text, and the app quietly threw the refusal away and carried on as if it had worked. Now it saves.

A subscription setup that couldn't be fixed

The set of paid plans we'd created in App Store Connect had every product stuck in a rejected state, and Apple does not let you un-reject them. The only way forward was to create a fresh set from scratch, which we did, and add a way to redeem a code.

The bug that would have charged you for nothing

A test we'd written caught a case where someone could pay and the app would give them nothing in return. Nobody was hurt, because it was caught before it shipped. That's exactly what tests are for, and it's the sort of thing App Review looks for.

A five-screen start

New accounts now go through five short screens: welcome, what Neeos does, setting up encryption, bringing in your information, and the plan choice. I'll say more in a couple of weeks about how that flow turned out to have its own problem.

I want to be straight about where this stood on August 22nd: the work was in, but I hadn't submitted anything to Apple yet, and I wasn't treating approval as a given.

Written October 21, 2026 from the build log, and dated to when this happened.

← Newer: "Delete my account" should mean delete Older: Chat switches to a different AI, and gets better →