All posts

Choose your bundle ID carefully

We picked a random bundle ID while experimenting. Months later, changing it meant creating a new app listing.

We learnt this the hard way.

When we started building our app on Emergent, we were mostly experimenting. We didn’t know if the idea would work, so we picked a fairly random bundle ID. It had emergent somewhere in it.

At that point, who cares? We were trying to ship something.

Then we kept iterating. We ran campaigns, improved the product, spent months on it, and eventually reached around 10,000 users. Now we’re preparing to come out of stealth and launch properly.

That’s when our performance marketing team flagged the ID. They were concerned that having emergent in it could associate our app with unrelated searches or signals on the stores. We didn’t want to spend money acquiring people who were looking for something unrelated to our product.

We thought we’d change the bundle ID and move on.

A new ID means a new app

On iOS, you can’t change the bundle ID after uploading a build. On Android, the equivalent is the application ID, and Google Play treats a different one as a different app.

So we’re creating v2 🥲

The code migration hasn’t been that painful. Coding agents have helped us move the code, configuration, and integrations. But the existing installs, ratings, reviews, and store history stay with the old listing. We still have to get the users we spent money acquiring onto the new app.

Months of distribution don’t move with your codebase.

The name was another problem

We managed to publish the new app on the Play Store. Then App Store Connect wouldn’t let us use the same name while the existing app still held it.

We’re now dealing with taking the current app off the store and releasing the name in App Store Connect. Taking an app off sale and removing its app record are separate steps.

Another thing we hadn’t planned for :)

If you’re building a mobile app on Emergent or any other vibe coding platform, choose a bundle ID you’d be comfortable keeping after launch. I’d spend those extra five minutes on it before uploading the first build.

Same code, new listing

See what happens when the app gets a different ID.

Original listing

com.example.emergent.app Project files
  • Code
  • Configuration
  • Integrations
Existing installs
~10,000 users
Ratings & reviews
Stay here
Store history
Stay here

New listing

com.example.product.app Copied project files
  • Code
  • Configuration
  • Integrations
Installs
Separate download
Ratings & reviews
Start fresh
Store history
New listing
Example IDs, not our actual app IDs.

The code can be reused. Existing installs, ratings, reviews, and history stay with the original listing.