AI case studies
“The app runs. It is only the notifications that have not arrived for years.” That was how the request began. An Android app for a membership-based B2C service. It was published on the store and it launched, yet at some point not a single push notification was going out. This time we rebuilt an “untouchable” mobile app — no original developer, no documentation — while carrying over every member asset and the signing key untouched. This is that record.
It is an app that never crashes while its most important feature has quietly stopped.
Beneath “it still runs,” notifications had been dead for years.
What this app really was: a native shell displaying an existing web service — a WebView wrapper plus push notifications. The screens were reused existing web assets, so they were alive. The problem was the notifications. The sending mechanism relied on a previous-generation delivery platform, and the moment that platform reached end of service the route itself disappeared. The database had only a column added for storing tokens of the new scheme, and nothing was ever written to it — the wiring had been left severed halfway.
Eighty percent of “untouchable” was really the fear of rebuilding.
The walls we actually hit were less about difficult code than about the fear of carrying things over. On Android in particular, one wrong move turns it into a different app that existing users cannot update.
We drew a clear line between what to keep and what to rebuild.
The job is not to make everything new. Assets that still work are kept as they are. Broken down, it looks like this.
| Item | Before | After the rebuild |
|---|---|---|
| Notification route | a previous-generation delivery platform (discontinued — cannot send) | Moved to the current delivery platform (FCM) |
| App shell | An old-generation native implementation | Regenerated with a current native implementation |
| Screens (contents) | Displays the existing web service | Continues unchanged (member assets preserved) |
| Signing key | Issued in 2016 | Same key carried over (delivered as an update) |
| Member and device data | Approx. 14,000 devices registered | Carried over unchanged |
The rebuild itself was driven straight through by an AI agent. On an emulator we ran the rebuilt app through obtaining a notification token → registering it with the server → an actual notification arriving from end to end, confirming that the round trip worked. The output is a signed package ready for distribution.
Most apps described as broken are not a total loss. As long as you secure the few severed wires and the keys that must be carried over, you can bring the real thing back onto a modern platform without discarding it. In the iOS instalment (Field Report ⑦) we cover the other platform, where most members are, and the story common to both operating systems: modernising notifications while leaving the old server in place.
* This article generalises a real project to the extent that no company or service can be identified. Figures are approximate, based on measurements as of August 2026. Duration and scope of work vary with the structure of the app.