Modernizing established mobile apps
I’ve worked on moving an app used by millions to backend v3 and SwiftUI. This involved changing the app’s integration with a new backend version as well as its interface implementation.
Misleading funnels, confusing experiments, ad integrations, and app migrations. Here’s the work behind what I say I can do.
What happened, what the investigation found, and what changed. These cases omit company names.
The home feed went blank and ads turned white. I traced four defects across SwiftUI, an ad SDK, and bidder configuration, contained the immediate ad failure across app versions, and fixed the underlying code.
The team thought registration was losing 70% of users. I rebuilt the funnel and investigated the different paths. The step they suspected was working; the first page and the route to login needed attention.
I built an AI-assisted tracking map to compare events before and after a major refactor. It exposed two missing interaction events, and I implemented the fix.
An independent article nobody knew about brought a surge of downloads during the test. I separated that cohort and found that the control performed better for the remaining organic traffic.
I investigated why mobile subscription conversion looked worse than web. Different user intent made page views misleading, so the team narrowed the work to the purchase steps and add-to-cart-to-payment conversion.
I improved registration, introduced Jobs to Be Done and regular product-health metrics, ran onboarding experiments, investigated demand for social features, and reviewed tracking.
The team wanted to roll out a homepage prompt. I investigated the raw data and found a short-lived effect for specific users, rather than evidence of a lasting improvement.
I built consent-based ad loading for GAM and other ad providers on iOS, added more bidding, and fixed request, configuration, and display issues in the existing integration.
I migrated business logic for iOS and Android to Kotlin Multiplatform, then started moving UI into shared Compose code.
I helped a large company adapt its shared-code architecture for both mobile platforms, CI, releases, and everyday development, and recommended how to expand it.
I compared cohorts, test-group splits, and behavior in the raw data to identify which experiments changed behavior and how they influenced one another.
As lead iOS developer at a smart-home startup, I led a team of up to four developers through the MVP and version 1.0: an offline demo mode, a dedicated iPad experience, encrypted remote access, and real-time sync with the home’s hardware.
In every case, the useful move was not to optimize the first symptom. It was to find the mechanism behind it.
15+ years of hands-on delivery across new products and established systems. My experience spans native iOS and Android, Flutter, architecture, tests, and automation.
I’ve worked on moving an app used by millions to backend v3 and SwiftUI. This involved changing the app’s integration with a new backend version as well as its interface implementation.
For one company, I defined the architecture, migrated business logic for both platforms, and started migrating UI to shared Compose code. For another, I helped adapt the architecture to iOS constraints, CI, releases, and everyday development, then recommended the next steps.
I built consent-based provider selection and a simple interface for ad slots, added bidders, and fixed GAM request, configuration, and display issues. Released changes reduced unnecessary requests and improved CPM and impressions; the latest fixes are still awaiting release.
At Nebenan, my work included modular app structure and CI automation for translations, PR checks, and formatting, plus a Slack-to-Confluence tool for capturing decisions.
An app that needs building. A migration that needs someone to own it. Numbers that don’t make sense. A product decision your team can’t resolve. Tell me what’s happening. I’ll tell you whether I’m the right person, how I’d approach it, and what the work would cost.
Email Alex ↗alex@x91tech.com