← Back to the Build Log Products

The citizenship test, in your pocket: my 2009 App Store apps

D
Daniel · Jun 16, 2026 · 4 min read
A monumental 2009-era smartphone standing like a monolith on a dark plain, its screen glowing with a golden Statue of Liberty torch, a tiny figure at its base, teal app icons dissolving into the night sky

The App Store opened in July 2008, and for a while it felt like 1997 all over again: a brand new distribution channel, almost nothing on the shelves, and anyone with a compiler invited to the party. I had spent a decade in C++ and the Microsoft stack by then, so naturally I did the reasonable thing and learned an entirely new language, Objective-C, with its square brackets and its message passing, to get through the door.

My first app went on sale January 12, 2009, six months into the App Store's existence. iTunes Connect still has the paperwork: Application Name: USACitizen. Version 1.0. And the source tree still has the timestamps: the test view controller says Created by Daniel Hofman on 10/27/08. More on why that date matters in a moment.

Why a citizenship app

Everyone remembers what the early App Store was famous for, and it wasn't civic education. But the choice wasn't random, it was timing. USCIS rolled out the completely redesigned civics test on October 1, 2008: new questions, new study materials, and every applicant in the country suddenly needed to learn the new set. My source files say I started writing the app on October 27, within the month. A study subject with a built-in audience that renews itself every single year, and no app for it yet.

It wasn't a thin app either. The App Store description survives in the project folder, and it reads like I meant it: both the old and the new test, 302 questions per language, 604 total, because the whole thing worked in English and Spanish from day one, arranged in 36 categories, with flashcards, practice tests that randomized the multiple-choice alternatives on every run, and a results report at the end. The main screen background was a vintage Spirit of '76 painting, fife and drum under the stars:

The USACitizen app's main screen background: a vintage Spirit of '76 painting with fife and drum players marching under a stars-and-stripes banner

USACitizen, soon renamed U.S. Citizenship - Test, was a paid app, and it sold from the first month. The February 2009 financial reports came in two envelopes, United States and Europe, which is its own kind of funny: people were preparing for the American citizenship test from the other side of the Atlantic.

The chart position I still bring up: it reached number one in Guatemala's App Store. Not a market anyone was optimizing for in 2009, but look at that feature list again: half of those 604 questions were in Spanish. The app was built for exactly the people who found it, and the chart in Guatemala was just the market agreeing.

The other one

App number two shipped that summer: Better Browser, and its pitch sounds a lot less quaint today than it did then: password-protected personal profiles, private browsing, private bookmarks, private history, Instapaper integration, and built-in search across Twitter, Facebook and MySpace. Yes, MySpace; you can carbon-date the app by its search engines. A privacy-first browser in 2009, years before private tabs were something mobile browsers bragged about. It came in a paid edition and a free one carried by AdMob banners, and the iTunes Connect page survives in my notes, developer-removed-from-sale flag and all:

iTunes Connect page for Better Browser (Free) version 1.3 from April 2010, bundle ID com.safesoftwaresolutions.FreeBrowser, status Developer Removed From Sale

One paid app, one ad-supported app, which in 2009 was the whole monetization science: those were the two business models, and I wanted to run one of each and see for myself.

The experiment produced a clean result, just not the one I expected. The paid citizenship app quietly did its job for years. The free browser died by decree in January 2014, when Google shut down the ad service it depended on. Nothing wrong with the app; the revenue pipe it stood on simply stopped existing. On January 8th I removed it from sale.

I had seen the other version of this movie already. StartUp Manager, the freeware I put on the download portals in 1997, never earned a cent and never needed permission to exist; copies of it presumably still run today. The browser earned actual money and died the moment a platform changed its mind. That contrast has quietly steered every product decision I've made since, down to TerminalNexus today, which runs local AI precisely so nobody can turn off the service it stands on. Funny enough, the other half of TerminalNexus's philosophy was already in that browser: private by default, your data stays yours. Apparently I've been building the same two convictions into products for a very long time.

What stayed

Objective-C joined the pile of languages that came and went; the apps themselves are long retired; the iTunes Connect screenshots and the Ready for Sale emails live in the archive with everything else I refuse to delete. What stayed is the pattern, because it's the same one from 1997: when a new distribution channel opens, ship something into it early, even if it means learning square brackets. The gold rush cools fast, but early on the shelves are empty and a one-person shop can top a chart in Guatemala.

Thanks for reading:) The comments are open, and if you shipped something in the App Store's first year, I want to hear what it was.

Comments