🔄 The Compound Shipping Effect

🔄 The Compound Shipping Effect

On this page

Shipping a first app is always the most difficult. It's like some of the other things in life.

A first marathon is always more complicated than the second one, as we remember the effort of the first one.

For indie development, it seems to be the same.

The first app is complicated to get on the store as a lot needs to be set up first.

Find an app idea, create the app on App Store Connect, develop the app idea, set up the App Store, and integrate the first in-app purchase code.

But something starts happening when you are shipping your first app.

Here is what.

1 app/week challenge update #3
(Sorry for the last update that was skipped last week; I updated it here.

This week, I worked on Purrkit, an app that aims to replace your cat's health booklet. For this project, I had time to integrate great features and maybe a subscription plan (one-time payment).

The app is not yet on the App Store, as I will finish the onboarding and some UI improvements next week. Stay tuned.

Here is a preview of the app's current state 👇

The Compound Shipping Effect

When shipping your first app, you already have a valuable code for the next one.

This means you can reuse the code for your next app. I called it the "Compound Shipping Effect," as you can ship faster and focus more on your core feature.

Copy and paste your UI

The first way is to copy-paste the code. For example, you may take some UI components from your previous app but change it a little to make it unique. Making the UI reusable is unnecessary as it would require too much complexity across your apps.

You can also create code snippets that you can call for particular needs. SwiftUI simplifies the code through its declarative paradigm, making it much easier to create snippets.

Reuse your business logic

For other parts, like business logic, you can reuse that part and make, for example, versioning of Swift Package.

It can include Core Data operations, App Reviews, Network layer, etc. Those things do not change daily, so you can easily reuse them.

Doing so lets you iterate better and faster to create meaningful apps without worrying about details.

Services Integration

Some integrations need attention first. Let's take, for example, the In-App Purchases. First, you must set everything up by following the tutorials and documentation. You will also need to make some setups on App Store Connect and the platform you choose to simplify the SDK integration (I use RevenueCat).

Next, it will be much easier to integrate In-App Purchase on other apps as you would know the process and will have to repeat it.

Continuous Integration

At first, it may be unnecessary, but it is a time saver in the long run when we deal with Apple Store Connect.

I recommend setting up a CI with Xcode Cloud (you have free computing hours thanks to your Apple Developer Account) or with GitHub Actions with Fastlane.

When the setup works, you can easily duplicate it for your other apps and ship a new version daily.

What do you do next?

If you want to test your app idea faster, develop it once and reuse some of what you've done. This will give you a compelling advantage and save you time.

Here is what you can take:

  • Copy and paste your UI logic
  • Reuse business logic as much as possible (Core Data, Network Layer)
  • Implement services in your app (like In-App-Purchases and analytics)
  • Setup a continuous integration

Subscribe to Valentin Mille newsletter and stay updated.

Don't miss anything. Get all the latest posts delivered straight to your inbox. It's free!
Great! Check your inbox and click the link to confirm your subscription.
Error! Please enter a valid email address!