Skip to content

CRAWLER V2

Cross-platform rebuild. iOS + Android. 26 days.

iOS Android Shipped Jan 27 2026
The founder was constantly putting out fires. The app was fragile. Every release was terrifying.

A complete ground-up rewrite of the mobile app on React Native and Expo, against the existing NestJS backend. Two engineers: me on frontend, one backend engineer. 26 days from kickoff to both store listings, with intense device-level testing on both iOS and Android the whole way.

The constraint that mattered most: replace the live iOS and Play Store apps without losing existing rankings or breaking the user base. Day-one stable on both platforms, no rollback, no hotfix-week.

Cross-platform parity isn’t theoretical here. Both apps shipped from the same codebase, on the same day, with feature equivalence.

Dev starts · Jan 1 2026 Crawler V2 ships · Jan 27 2026 Jun '24 Apr '26

App Store Connect, first-time downloads. The flat line is 18 months on the original app. The step is V2, driving lifetime downloads from 6.1K to 30K and growing.

RATING RECOVERY

Post-rebuild momentum. The Play Store climbed from 3.1 to 4.2★. The App Store holds 4.8★ across 85 reviews.

PLAY STORE


And climbing. Android wasn’t treated as a second-class citizen.

APP STORE


Scaled 18 → 85 reviews post-launch, locking in a 4.8★ average.

PRODUCT SENSE & UI

I don’t just blindly translate Figma mockups into Expo. If a design choice looks amateur or the UX flow is fragile, I fix it on the device before it ever ships.

A few wins from this rebuild:

  • Killing amateur UI. The agency handoff relied on fully pill-shaped buttons that made the app look dated. I unilaterally tightened the radii to something modern and shipped it. The agency CEO and the founder loved the upgrade — no pushback, no extra design rounds.
  • Simplifying the redemption flow. The original flow tangled pass display, customer confirmation, staff verification, and the redemption timer into one overloaded surface that was hard to reason about and easy to break. I split it into discrete stages, each doing one thing, with the state machine extracted into a single hook. No designer in the loop — just a solo call on what made sense on-device.
  • Profile page rebuild, solo design call. No mockup, no spec, no design pass. I rebuilt the profile page from scratch using a competitor’s layout as the reference — tighter information hierarchy, removed dead UI, shipped same-day.
  • Ruthless componentization. The mockups for the NYC venue listings included 10+ ad-hoc button variants. I scrapped the bloat, built a strict token-based component system, and standardized the entire UI.
  • Growth engineering. I didn’t wait for PM tickets. I proposed and shipped the native in-app review flow that drove the spike in App Store reviews, and built the push/SMS re-engagement loops that automatically pulled lapsed users back in.

Every V1 release had to be supervised by the CTO. V2 ships async.

6.1K → 30K lifetime downloads. 4.8★. Day-one stable on both stores.

Read more case studies