TopStart is the first app I ever built. Not the first one I decided to sell, the first one, period. I had never made an app before it, which means I learned how to build a MacOS app and how to sell one at exactly the same time. This is how a man who had never shipped an app went from a menu-bar idea to a live $4.99 launch, what the licensing and trial took, and the parts that almost stopped me.
The Idea
The idea did not arrive in a flash. It arrived as a frustration. I leaned on a similar menu-bar app every day, and it had been broken for a long time, the kind of thing you keep waiting on someone else to fix and they never do. Eventually I stopped waiting and decided it was time to make my own.
That is the whole reason TopStart exists. I wanted a version I could keep alive, one that would hopefully not break in the first place, and that I could update myself if and when it did. Functionally it is small. A menu-bar app that launches your daily apps with one click, in the order you actually use them. Nothing grand. Just a shortcut bar that saves your hands a little motion.
From the very beginning the plan was to build it and to sell it. It was never a private side thing I decided to monetize later. It was my first app, and I meant for it to be a product from day one. The reason I wanted my own version was so I could keep it updated myself, instead of depending on somebody else to fix or improve it.
Going From Free To For Sale
Selling an app means facing decisions most side projects never touch. Licensing. A trial. A store. A DMG people can actually install. None of it is glamorous, and all of it is the difference between a project and a product.
Key Takeaway: a side project becomes a product the day you add the boring parts. Licensing, a trial, a store, a DMG, a site. That is the real work.
This was my first commercial app, so I was learning the building and the selling together. I started checking the boxes off one at a time.
The License And Trial
An app you charge money for needs a way to prove someone paid. I wired up a license-key system so each purchase generates a key the app checks, and I added a Restore Purchase path so a license follows you instead of living on one machine.
Then I gave it a seven-day trial. Nobody should pay before they know whether something fits how they work, and a trial is how a stranger becomes a customer who trusts you.
Pro Tip: give a paid app a trial. Nobody should pay before they know it fits how they work.
The Store
The store was its own little saga. I first set the whole thing up on Paddle, then decided to run the final launch through Lemon Squeezy instead, because for a one-time-priced Mac app it made the licensing and the download side cleaner.
The product is live for $4.99 with license keys enabled. The checkout is the last thing I am still verifying with a real test purchase, because a page that loads and a purchase that succeeds are not the same thing.
The Packaging
Mac users expect to drag an app into Applications, so I packaged TopStart as a proper DMG. There is a live build on the site, and the product page is wired to deliver it the moment someone buys.
The little things were the ones that kept surprising me. Even the app icon mattered. A clean dark square with a broken launch ring and a cursor, a quiet promise of speed on the page. Branding is part of the product.

The Site
TopStart has its own little home at topstart.app, fully deployed, with a privacy page, a support page, a changelog, a sitemap, and the download all in place. The Buy button is wired straight to a real checkout, so you can purchase it there for $4.99. I put the same care into the site I put into the app, because the storefront is half the product.
That is the same kind of thinking I wrote about when I rebuilt my own app stack page.
The Honest Middle
Here is the part nobody films. My Apple Developer account is approved, and the notarized build is the next big update, coming in the next few days, probably as TopStart 1.3.0. That is the last gate before the app feels fully finished. And the checkout still needed a live test purchase to prove it really works, not just a page that renders.
Shipping is a hundred small gates, and the last few are the ones that teach you. Page loads. Downloads. Licenses. Notarization. Purchases that actually complete. Every one of them had to be earned.
Warning: a page that loads and a purchase that succeeds are not the same thing. Run a real test purchase before you call a storefront shipped.
What I Would Tell Someone Else
Ship something small. Charge something small once. And do not skip the boring parts, because they are the product.
Licensing, a trial, a DMG, a store, a site. None of it is exciting. All of it is the difference between a project you keep for yourself and a product other people can buy.
The boring parts are the difference between a project and a product.Cliff
A side project becomes real the day you finish the boring parts, not the day you write the clever code.
Want More Like This?
I write about AI tools, automation, and the stuff I actually use. If this article helped, there is more where it came from.

Comments