case/experiences/bullla
05/08
Bullla·São Paulo, BR·Nov 2020 - Jun 2021

Full Stack Developer

I migrated the app from Cordova to React Native and lifted store rating from 2 to 4.

2 → 4
app store rating
Cordova → RN
full migration
PJ
contract

A payments app stuck on Cordova with a 2-star rating reviews dominated by lag and crashes. I proposed and shipped the React Native migration alongside per-screen UX improvements.

01

Diagnosis

Payments app with rating 2. Reviews dominated by lag and crashes. Cordova core wrapped WebView dragging the entire experience down. Sensitive payment flows running on a stack that wasn't built for it.

02

Hypothesis

React Native gives us native rendering performance + a single codebase. Pair the platform jump with a per-screen UX redesign and automated testing pipeline so the rewrite isn't just 'same app, different framework'.

2 → 4
app store rating
03

Migration

Full rewrite in modern React Native. Biometrics for sensitive operations (FaceID + Android Biometrics) uniform across iOS and Android, no flow branching. Backend architecture scaled for high traffic with minimal downtime.

04

Stabilization

Automated testing workflows wired into the deploy pipeline catching regressions before users did. Frontend components streamlined per screen fewer taps, clearer flows, stable performance.

05

Outcome

Store rating moved from 2 to 4 during the contribution period. Reviews changed in tone from 'crashes constantly' to 'finally works'. Retention curves followed.

decisions & tradeoffs
  • Why React Native and not a native rewrite?
    React NativeTwo native codebases would have doubled the time and team. RN gave us native rendering for the bottleneck (UI/scroll), TypeScript reuse with the web team, and a single PR per fix exactly the leverage a small team needed.
  • Why both FaceID and Android Biometrics from day one?
    Cross-platform biometricsPayment app: sensitive operations need passive 2FA. Both stacks landed in the same milestone so the auth flow stayed uniform no 'iOS users get biometrics, Android gets PIN' second-class experience.
  • Why automated tests as a release gate?
    Tests block deploysComing out of Cordova hell, every regression cost trust we couldn't afford to lose. The test gate kept the rating recovery sustainable release after release without sliding back.

Rating 2 → 4. Retention went up, reviews changed in tone.