<?xml version="1.0" encoding="UTF-8"?><rss version="2.0" xmlns:content="http://purl.org/rss/1.0/modules/content/"><channel><title>Ziga Dolar</title><description>Updates on my iOS development journey</description><link>https://zigadolar.dev/</link><item><title>Back to shipping</title><link>https://zigadolar.dev/posts/2026/04/13/back-to-shipping/</link><guid isPermaLink="true">https://zigadolar.dev/posts/2026/04/13/back-to-shipping/</guid><description>Shipping my first app in 10 years, and starting again.</description><pubDate>Mon, 13 Apr 2026 00:00:00 GMT</pubDate><content:encoded>&lt;p&gt;It&apos;s been a long time since I&apos;ve really posted publicly online. And it has also been a very long time since I&apos;ve launched an app to the App Store.&lt;/p&gt;
&lt;p&gt;For close to 15 years, I&apos;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.&lt;/p&gt;
&lt;p&gt;I&apos;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&apos;s usually limited to a specific technology stack, and not always using the latest APIs.&lt;/p&gt;
&lt;p&gt;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.&lt;/p&gt;
&lt;p&gt;I&apos;m not saying that I don&apos;t have ideas on what to build - there are plenty. Over the years, I&apos;ve built a lot of prototypes and small utilities for myself that I still use daily. But that&apos;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.&lt;/p&gt;
&lt;p&gt;These utilities are not polished. They&apos;re not designed. Most don&apos;t even have icons. They are, mostly, not even particularly well engineered - they&apos;re just the shortest path to solving a specific problem I had at the time.&lt;/p&gt;
&lt;p&gt;And that&apos;s where the problem is.&lt;/p&gt;
&lt;p&gt;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&apos;d need to think and plan them out more, so that they&apos;re not only tailored for my use, where I happiliy ignore any issues.&lt;/p&gt;
&lt;p&gt;But doing that is tricky - and so often, it&apos;s much easier (even in the evening) to keep &quot;playing around&quot; with well-defined work-related tasks, where all that&apos;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.&lt;/p&gt;
&lt;h2&gt;The change&lt;/h2&gt;
&lt;p&gt;I&apos;ve made a conscious decision this year, that I will take some bits of my free time (when I&apos;ll find it, and when there will be nothing else to do), and go back to shipping apps.&lt;/p&gt;
&lt;p&gt;To keep myself grounded, I&apos;m limiting the scope as much as possible, using a few simple rules:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;the apps should be very focused utilites, that solve a real problem (even if it&apos;s one only I&apos;m having)&lt;/li&gt;
&lt;li&gt;they should work entirely offline (no need to add complexity with anything backend-related)&lt;/li&gt;
&lt;li&gt;and, related to that, should preserve users&apos; privacy - I don&apos;t want anyone&apos;s data&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Additionally:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;should be built with latest (native) iOS technology&lt;/li&gt;
&lt;li&gt;share reusable components and functionality as much as possible - using custom swift packages&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;I&apos;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&apos;ve scoped out.&lt;/p&gt;
&lt;p&gt;It hasn&apos;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&apos;s tasks I&apos;m in the middle of -where it&apos;s just easier to continue with those. And, everything about building new apps from scratch comes with the same challenges as always.&lt;/p&gt;
&lt;h2&gt;The breakthrough&lt;/h2&gt;
&lt;p&gt;Today (well, last weekend), I&apos;ve finally released a new app: &lt;a href=&quot;https://keepdates.app&quot;&gt;KeepDates&lt;/a&gt; - the first app I&apos;ve shipped in 10 years.&lt;/p&gt;
&lt;p&gt;&lt;img src=&quot;https://zigadolar.dev//post_images/20260413_keepdates_scrshot.png&quot; alt=&quot;KeepDates screenshot&quot; /&gt;&lt;/p&gt;
&lt;p&gt;And it&apos;s not even the app I intended/planned to release first, or one I even thought of making before a month ago.&lt;/p&gt;
&lt;p&gt;I think that&apos; i&apos;s why it now exists.&lt;/p&gt;
&lt;p&gt;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.&lt;/p&gt;
&lt;p&gt;It gave me a chance to really dive into &lt;code&gt;SwiftUI&lt;/code&gt; (up until now, all my UI work was in &lt;code&gt;UIKit&lt;/code&gt;) and the new (strict) concurrency stack. I gave it a somewhat reasonable architecture, reusing the shared local &lt;code&gt;Swift Package Manager&lt;/code&gt; packages I&apos;ve set up when starting on my &quot;tiny apps&quot; journey - where I have a common set of utilities that I can reuse for any apps I build.&lt;/p&gt;
&lt;p&gt;Using &lt;code&gt;SwiftUI&lt;/code&gt; 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 &lt;code&gt;UIKit&lt;/code&gt;.&lt;/p&gt;
&lt;p&gt;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&apos;t kill that momentum.&lt;/p&gt;
&lt;p&gt;Now that it&apos;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).&lt;/p&gt;
&lt;p&gt;Haven&apos;t felt this way in a long time - it feels great! I&apos;ll be posting small updates here as I continue.&lt;/p&gt;
</content:encoded></item></channel></rss>