Zero to Ten: My App Development Journey on Apple's App Stores
Tags: swift, swiftui, apple, mobile
Published: 2024-05-10 19:05:51

I believe there's magic in vision boards. Like many of you, in December '23 I planned out goals I wanted to accomplish in the new year. Instead of cutting out magazines, I bought a small whiteboard and wrote out all my goals so that I could check them off as I completed them. One of the goals was to get my first app in the App Store by the end of Q1 2024.

It seemed like an impossible goal at the time. I had just started learning Swift 6 months earlier after WWDC '23. I had built an app, but I didn't get it approved in the App Store because it was an app centering around user-generated content and I didn't have any solutions for moderation, blocking, or a EULA. The app was supposed to be a closed social media app utilized by less than 20 people, so publishing it didn't make much sense to me.

All of the requirements for that app gave me the (false) impression that getting an app into the App Store was a difficult process. I was discouraged and I didn't have any groundbreaking ideas that I felt confident trying to build to accomplish that goal. I felt defeated until I listened to an episode of what has become my favorite podcast, CodeNewbie. It was an interview with Kyle Lee, or KiloLoco, and he explained that his first published app was a simple note-taking app, and his second was a text field that allowed users to type large text.

[CodeNewbie S15:E3 - How to build an app from idea to maintenance (Kyle Lee)](https://podcasts.apple.com/us/podcast/s15-e3-how-to-build-an-app-from-idea-to-maintenance-kyle-lee/id919219256?i=1000510124420)

That episode completely shattered my preconceived notion that App Store apps had to be large and complicated. My decision to learn Swift was inspired by the Vision Pro announcement and a desire to build apps for that platform, so I started thinking of simple apps I could build for visionOS. Being a fan of Apple for so long, I assumed that first-party apps for many basic utilities would be absent from the platform at launch. With that hunch in mind, I decided to try and build a simple timer. I figured people could use it as a focus timer while working in their Vision Pro.

With a lot of help from YouTube and ChatGPT, I was able to get the logic right for a functional visionOS timer app in SwiftUI. The first version of it was a single timer with a progress view that you could change the color of. I submitted it and fully expected it to get rejected. I even told a friend I fully expected them to laugh at my submission.

![A photo of a conversation bubble that reads "I sent my first visionOS app for review yesterday. It's a very simple timer app, I will not be surprised if they reject it with an is this a joke? response, but I wanted to give it a shot regardless"](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/xpjoq7yg79ghd0z7i50s.jpg)

To my genuine surprise, it was accepted! Getting my first app accepted was the greatest feeling, especially with it being a visionOS app that was going to be present in the Day 1 App Store. The entire process, from building the app to setting up the App Store metadata and submitting it, took less than a day. With that experience, I was inspired to keep going and see how many utility apps I could get into the Day 1 visionOS App Store. I ended up with 3 at launch and 1 more shortly after.

Two months after thinking I'd never have ONE app in the App Store, I looked up and I had 4. I thought to myself, what if I could build TEN?? I made it a goal to have 10 by the end of the year. I finally had the confidence that I could build and ship simple single-screen visionOS apps, but my friends and family couldn't use them. I didn't know anyone who owned a Vision Pro, and I didn't even own one myself. I decided to try to build two apps I had been wanting to build since I started learning: a cannabis journal (for the public), and a law dictionary.

I built both MVPs, and apps 5 and 6 were published in March! 3 months, 6 apps! I was already so close to my goal of 10 so early in the year. None of my apps were super complicated but I was learning something new with each one! The cannabis journal was my first time building an app with SwiftData and MapKit, my currency converter app was my first network call, the law dictionary was my first time using a bundled JSON file for data, and my metronome app was my first time working with AVKit.

I'm now trying to focus on building apps I have no clue how to build to get further outside of my comfort zone. My 7th app, Vinyl Vision, was recently accepted into the App Store as an MVP and it was my first app that successfully utilized OAuth 1.0 and the first app that utilizes a massive API database. I'm learning a ton already from that app and plan to work with more technologies and frameworks that I have no idea how to use yet for the last 3 apps I need to reach my goal.

I could not have done any of this without a ton of help from my Twitter community. I appreciate you all and if we're not yet connected on Twitter, you can find me at [@dlewisdev](https://twitter.com/dlewisdev). I've been sharing a lot about my journey on there but I recognize that blogging and video creation makes the content more accessible to the people looking for it, so I hope to share more details about my journey, what I learn from each app I build, and challenges I face on this blog going forward.

If you made it this far, thank you so much for reading! You can find all of my apps and the other platforms I'm actively using on my website at [daniellelewis.dev](https://daniellelewis.dev).