Product StrategyMobileArchitectureStartup

Managing Two Platform Migrations Without Burning Runway

CTO / Technical Lead

Navigated App → Web → App pivots and shipped iOS + Android in 4 weeks by reusing 90% of web stack

Managing Two Platform Migrations Without Burning Runway

Context

Over 12 months, the company underwent two major GTM pivots:

  1. Creator-led GTM → User-led GTM
  2. Mobile app → Web → Mobile app

Phase 1: App → Web

Trigger: Users unwilling to install another app for creator content

Outcome:

  • Moved to web (Next.js after Flutter Web failure—see separate case study)
  • Unlocked SEO and discoverability
  • ~6 months total cost

Phase 2: Web Becomes a Liability

New Reality:

  • Target shifted to end users, not creators
  • Core loops required push notifications and real-time gameplay
  • Web notification reliability inconsistent
  • Return sessions significantly lower vs mobile

Constraint: Could not afford another 6-month rewrite

Strategic Reframe

Instead of asking "How do we rebuild the app?", we asked:

What are the minimum native capabilities we actually need?

Hard Requirements:

  • Reliable push notifications
  • Native sign-in (Google/Apple)
  • Video playback and payments
  • Fast update capability

Solution: Capacitor

Chose Capacitor (web-native runtime in native shell) over React Native rewrite.

Why:

  • ~90% code reuse from Next.js
  • Access to native APIs via plugins
  • Remote updates without store resubmission
  • Update latency: 2-3 days → near-instant

Risk Validation (1-Day POC)

Validated all failure modes in ~8 hours:

  • Auth: ✓ Solved via plugins
  • Notifications: ✓ Native plugins
  • Video: ✓ Plugin-based
  • Payments: ✓ Integrated
  • JS Bridge: ⚠️ iOS blocked embeds → Custom plugin solution

Execution & Results

Timeline:

  • Sprint 1 (2 weeks): Core app
  • Sprint 2 (2 weeks): Hardening + QA
  • Total: ~4 weeks to production iOS + Android

Outcomes:

  • Code reuse: ~90%
  • Native code: <10% of codebase
  • Average TTFI: ~2 seconds
  • Feature updates: Instant (remote push)

Key Lessons

  1. Platform choices encode GTM assumptions — If GTM is uncertain, lock in as little as possible
  2. Rewrites are strategy failures expressed as code
  3. Native UX ≠ Native UI — Most startups need native capabilities, not native views
  4. Speed comes from optionality — Reusing web stack preserved velocity under uncertainty

Total Cost

  • App → Web → App churn: ~7 months
  • Root cause: Platform decisions made before GTM stabilized
  • Preventable with better second-order reasoning

Platform migrations completed during seed stage

Interested in working together?

Let's build something exceptional together.

Get in touch