Today I shipped 20 apps and a screensaver ⌘I Get Info

surprisetalk1 pts0 comments

Today I shipped 20 apps and a screensaver  ⌘I  Get Info

Today I shipped 20 apps and a screensaver

2026-05-10<br>•  edited

9 mins read

#app

#fitsonafloppy

#flex

#ios

#macos

#optimisation

#screensaver

#shipping

#software

2026-05-10

9 mins read<br>true

Shipping software is hard. My secret to doing it successfully is a combination of careful scoping, with strict avoidance of feature creep. But even then, it’s still insanely difficult to ship something.

Shipping multiple pieces of software one after the other in quick succession would be an even more gruelling task. Nobody in their right mind would choose to do such a thing…right?

Right?

I must have missed the memo because I’m shipping 20 apps and a screensaver…today!

14 × macOS apps (Mac App Store)

3 × macOS apps (TestFlight)

2 × iOS apps (App Store)

1 × macOS app (GitHub download)

1 × macOS screensaver (Web download)

Get them at gingerbeardman.com/apps/

Twenty!?

Yup. So I think it’s a bit of a myth that software takes huge teams to make. Some of the most successful software of all time was created by individuals: MacPaint, HyperCard, Minecraft, RollerCoaster Tycoon, BitTorrent, Stardew Valley, WinAmp, Flappy Bird, Vim, the World Wide Web, HTML, URLs, and HTTP (those last four by the same person, Tim Berners-Lee). Or perhaps it was made by power duos: Photoshop, Doom, Quake, Google, WhatsApp, Figma, Sensible Soccer. It’s still quite common today, especially in the indie scene, but perhaps it’s not talked about as much?

I started making software in 1990 on the Atari ST, moved to Windows and the web in 1995, then to Macintosh in 2000, and iPhone in 2007. My apps and games have been featured in publications around the world, been downloaded millions of times, and one of my games—which happens to be only 39 KB—received a “best game of the year” accolade alongside Mario and Zelda. The only time I wasn’t actively making and releasing software was during my time working for Apple as a Technology Evangelist, because they don’t allow it.

So I had a bunch of apps that I’d built for myself over the years, and friends kept encouraging me to release them. Making an app for yourself is one thing, but shipping an app to the public is much more difficult. If I was to release one app every month it would take me almost two years to release them all! Doing the App Store Dance to that kind of beat is my idea of hell. So I decided to do it “once” for all my apps. It still took a couple of months to get them ready, and a further month to get them all approved. I do not advise anybody else do this, because it was painful. But I did it, and here we are!

WTH!?

To ship this many apps at once I had to optimise my workflow to an unprecedented level: Xcode projects set up as similarly as possible to reduce cognitive load, shell scripts to automate common build and test tasks, a script to generate changelogs ready for submission, another to automate incremental website builds based on changed files, and one more to generate screenshots of my screenshots, followed by asc to automate uploading data to App Store Connect.

Code hygiene got the same treatment. I ran Periphery across every project to find and remove dead/unused code, which shrinks the binary. Then jscpd to spot copy-paste duplication or similar code sections and refactor them into shared helpers, which can sometimes increases binary size slightly, but it’s a price worth paying for maintainability across so many codebases. There are several Xcode/compiler optimisations that can help strip unused data from the final binary, if you’re careful. I also “cheat” by adding only the largest icon size to macOS apps to avoid over 100 KB of additional icon size variations.

For the website I created a static site generator that uses a simple templating system to generate a static site for 20 apps, the whole thing is spat out in only 36ms. Each app has its own markdown content file with YAML front matter, markdown description for the press kit, privacy policy, RSS feed XML (managed by my app Feedit), maybe some FAQs, an SVG icon, and a bunch of screenshots in both light and dark mode. The press kit is zipped up on a full build and the static site is uploaded to my server over WebDAV. I even managed to hide a fun little mini game in there! The time and effort spent on this system over the last couple of months was roughly equivalent to building another app. But it was worth it.

Most of my apps cost a small amount up front. That’s a way to show your appreciation for the time I spent making them. It also means I never need to use ads, tracking, or subscriptions to make it worth me doing this. After all making software is my job, not a hobby. All apps are actively maintained—if an app hasn’t been updated in a while, it means it has reached a stable state, rather than it being abandoned. Supporting older versions of macOS comes for free when you’re not tied to dependencies that have their own requirements and release...

apps software macos screensaver today shipping

Related Articles