2026-04-13
Back to shipping
Shipping my first app in 10 years, and starting again.
It’s been a long time since I’ve really posted publicly online. And it has also been a very long time since I’ve launched an app to the App Store.
For close to 15 years, I’ve been building apps for iOS - more than 12 of those years professionally. But for almost the last 10 years, all of my iOS related code output was in-fact only for others - in various jobby-jobs.
I’ve worked on consumer apps of all sorts, and built various frameworks and libraries. Which was, and is, great - I still enjoy solving problems of different complexities at work. But that’s usually limited to a specific technology stack, and not always using the latest APIs.
The upside of solving work challenges is, that (mostly) somebody else defines the roadmap and what features need to be built - which leaves me with the fun part: writing the code and making it all work.
I’m not saying that I don’t have ideas on what to build - there are plenty. Over the years, I’ve built a lot of prototypes and small utilities for myself that I still use daily. But that’s usually where it ends: a ugly utility app on my phone that I need to refresh every so often because the development certificate expired.
These utilities are not polished. They’re not designed. Most don’t even have icons. They are, mostly, not even particularly well engineered - they’re just the shortest path to solving a specific problem I had at the time.
And that’s where the problem is.
I know that these kind of apps could be useful to others. And that they could be a way to try new technologies and keep growing as a developer. But that means, that I’d need to think and plan them out more, so that they’re not only tailored for my use, where I happiliy ignore any issues.
But doing that is tricky - and so often, it’s much easier (even in the evening) to keep “playing around” with well-defined work-related tasks, where all that’s needed is writing code, instead of doing the slow-to-show-progress thing of refining the feature set, shaping a product, and polishing the design.
The change
I’ve made a conscious decision this year, that I will take some bits of my free time (when I’ll find it, and when there will be nothing else to do), and go back to shipping apps.
To keep myself grounded, I’m limiting the scope as much as possible, using a few simple rules:
- the apps should be very focused utilites, that solve a real problem (even if it’s one only I’m having)
- they should work entirely offline (no need to add complexity with anything backend-related)
- and, related to that, should preserve users’ privacy - I don’t want anyone’s data
Additionally:
- should be built with latest (native) iOS technology
- share reusable components and functionality as much as possible - using custom swift packages
I’ve been slowly progressing with this, on and off, since the start of the year - trying to stay motivated and stick to the plan and list of ideas I’ve scoped out.
It hasn’t been easy - mostly the staying motivated part. Jobby-job work tends to linger in the back of my mind even in the evenings, especially if it’s tasks I’m in the middle of -where it’s just easier to continue with those. And, everything about building new apps from scratch comes with the same challenges as always.
The breakthrough
Today (well, last weekend), I’ve finally released a new app: KeepDates - the first app I’ve shipped in 10 years.

And it’s not even the app I intended/planned to release first, or one I even thought of making before a month ago.
I think that’ i’s why it now exists.
It solved a problem actually had, that my phone was not solving for me; so I wanted to build it. And, since I was going to build it, I was going to do it correctly this time - building it properly and in a shippable (hopefully polished) way.
It gave me a chance to really dive into SwiftUI (up until now, all my UI work was in UIKit) and the new (strict) concurrency stack. I gave it a somewhat reasonable architecture, reusing the shared local Swift Package Manager packages I’ve set up when starting on my “tiny apps” journey - where I have a common set of utilities that I can reuse for any apps I build.
Using SwiftUI meant I could iterate on the design quickly, and make the app look and feel good - something that would have been a lot more annoying and slow with UIKit.
The fact I was really solving a problem for myself made me very motivated. Event spending more than a week (after having a basically shippable build ready) on preparing launch materials (screenshots, descriptions, demo video, landing page, etc.) didn’t kill that momentum.
Now that it’s shipped, I feel more energized and more excited to keep building - both improving this app and working through the rest of the ideas I have (and keep coming up with).
Haven’t felt this way in a long time - it feels great! I’ll be posting small updates here as I continue.