The new iPhone will probably be out in a month, and iOS 18 will be out a week later after that. A lot of us are gearing up for a successful Day 1 release, and I created a checklist for myself to ensure everything goes according to plan.

As an indie developer, I know how important it is to be ready when a new iOS version drops. As Jordan Morgan said, "You only launch once."

On Launching Your Indie App
The art of launching is a mystical, debated art. Yet, in many ways it’s the cornerstone of our initial success.

The opportunity to seize and shine on the App Store is right in front of you. So, let's dive into the checklist that I have created for a smooth iOS 18 app release of Meshing.

This post focuses on the app itself, and the subsequent ones will be about App Store Connect and press.

Polish Your Feature Set

The main thing. Creating a delightful app for users to enjoy. The one that works flawlessly before release. We all can dream, right?

As my app is iOS 18+, I am rigorously testing on the iPhone 14 Pro Max and XR to work with different screen sizes. I know a buggy app can quickly lose users, no matter how innovative the features are, so the core features should work well, and that is why I decided to have a TestFlight early on:

Join the Meshing: AI Mesh Gradient Tool beta
Available on iOS

Valuable Onboarding

As soon as the user opens the app and sees the onboarding screen, they should feel that this is the app that will solve all of the life problems! Oh, I wish there was an app that worked that way.

The app should solve the problem they are looking to solve, and the onboarding gives a glipmse of it. It has enough guidance to get users started, but not so much that it becomes overwhelming. I hate those personalised never ending onboarding screens.

I plan to have a single screen onboarding, highlighting the core features. For my app, it is simple: you create a mesh gradient, you export it, or copy it to clipboard. And the cherry on top is Meshing AI for prompt based gradients. Quick, and to the point.

Implement iOS 18 Features

Apple loves to feature apps that showcase their latest iOS capabilities. I look for good ways to add the shiny new iOS 18 features into my app. We have the Control Widgets, and the custom translation in the Translate framework.

I want to make sure it feel natural, not forced.

Set Up Analytics

Not as brutal as big companies, but enough to know what the user are generally using. Keeping privacy as atmost priority. I have been using TelemetryDeck for a few years and happy with it tracking the key metrics.

In the early stages, I need this data to support the priority list for future updates and features.

TelemetryDeck
TelemetryDeck helps you capture and analyize users moving through your app and get help deciding how to grow, all without compromising privacy.

Feedback-Friendly Settings Page

While I have not even created a settings page yet, I want to include an option for users to provide feedback. I am not a fan of buried contact forms, either so this will be a simple "Bug!" or "Feature Request" button within the settings that opens up mail.

I used something similar for Gradient Game and it is casual, friendly, and somewhat screams "I want to hear from you!" And it worked. User feedback is gold for us indie devs.

‎Gradient Game
‎Gradient Game is the game to stress out yourself after a long day of work at home. The game is as straightforward as it can be - match the given gradient by moving the sliders on the screen. Bring out the best designer vision of yours to match the beautiful gradient. With a neat and simple inte…

An Effective Paywall

Ah, time to print.

And pay bills.

Nope, not a paywall that opens every launch to bombard me with "BUY NOW!" sheets with insane weekly pricing. My paywall is going to be clear, upfront, and offer value. I am thinking of "Meshing Pro" version that unlocks export feature and Meshing AI. It is difficult to balance what should be under the free version, and what all is worth upgrading for. Meshing AI is for sure worth it, and I have to pay OpenAI, too.

The templates are an investment too because I manually create them, and it provides immediate value to the user who wants quick gradients.

Should export be under a paywall? Maybe a few free exports and then show the paywall? I want users to upgrade because they love the app, not because I have annoyed them into submission.

As I am writing this post during RevenueCat's Ship-a-ton, I will use their new Paywall editor to come up with a subscription model. My plan is:

  • 3 dollars a month
  • 20 dollars a year
  • 30 dollars for lifetime access

I have to think harder on the pricing. I do want tonot to undersell my work, while providing enough value to the user, too.

Performance and Leaks

When I saw the animated mesh gradients takes a whopping 10-12% and 100 MB on my phone, I was shocked. Creating a simple mesh gradient tool is harder on performance, and who knew pretty colors could be such resource hogs?

Here is my plan:

  1. Use Xcode Instruments to find the bottlenecks, especially when animating
  2. Keep an eye on memory usage.
  3. Move some computations to background threads.
  4. Compress images without losing quality.

A smooth app is a happy app leading to happy users!

Errors??

Working with APIs like OpenAI, or my backend means that everything and anything can go wrong. Error handling to gracefully manage issues is one of the least enjoyable work for me.

But we live in the LLMs era! I can handoff this work to Claude, and also use the ContentUnavailableView for consistency. Apart from user-friendly error messages and I want to at least add suggestions for resolving the issue.

Accessibility Check

I have to run through my app using VoiceOver and VoiceControl. And ensure the UI works well for extra large font sizes.

By running through all of this, I want to make sure Meshing is an app that everyone can enjoy, regardless of how they interact with their device. It is a bit of extra work, sure, but worth to know that anyone who wants to create beautiful mesh gradients can do so with ease.

Localization

While English is widely used, I have already localized the app for Simplified Chinese because I got some great feedback from a designer and I wanted to appreciate their efforts. My plan is to localise for the following languages:

  • French
  • German
  • Chinese (Simplified)
  • Japanese
  • Korean

I am using Localizable.xcstrings and Claude to translate the initial versions giving it the content of the app, so it can localise better. Then, I have friends who can look over the final translation to let me know if I am on the correct path!

Moving Forward

A lot of work is left. And I need to stay focused and adaptable. Here is my plan moving forward:

  • Focus on core features and iOS 18 integrations first while testing thoroughly.
  • Take in the feedback and suggestions from the X community and implement them.
  • Work harder on the paywall structure and pricing tiers.
  • The app should be accessible to everyone.
  • Finalize translations and verify their accuracy.
  • Start planning App Store presence and press outreach.
  • And finally, take good care of myself.

Happy shipping!

Cursor AI with iOS Development Book.

Cursor AI & Copilot in VS Code for iOS Development

Autocompletion from Cursor Tab, multifile edits with Cursor Composer, & chat with easy inline edits in both Cursor and VS Code. Learn to use these AI editors for Swift and SwiftUI!

Tagged in: