Mosaic
Stabilizing a production POS without pausing product delivery.
Reliability and modernization work on a production Flutter point-of-sale application. I investigated recurring ANRs, crashes, runtime errors, and slow interactions; replaced several ANR-prone WebView paths with native Flutter flows; and added Firebase instrumentation so production evidence could guide the next improvement.
Project evidence
- Production POS
- production application
- WebView → Flutter
- several ANR-prone flows rebuilt
- ANRs + crashes
- recurring failure modes investigated
- Firebase
- production instrumentation and analytics
The first obligation
Make the workflows people depend on reliable again.
Mosaic was an active production POS application with recurring ANRs, crashes, runtime errors, and slow interactions across critical workflows.
I profiled and debugged those failures while continuing normal product delivery. The priority was to remove user-facing instability without assuming a rewrite was available or desirable.
Targeted modernization
Replace the paths that repeatedly failed, not the entire product.
Several recurring ANRs came through WebView-based paths. I rebuilt those workflows as native Flutter experiences and progressively refactored brittle legacy code around them.
The approach improved application structure in bounded steps and avoided disrupting ongoing production delivery.
System map
A production reliability loop
Instrumentation and user evidence identify risky paths; profiling narrows the cause; bounded native replacements ship; production evidence validates the next step.
- 01Production signals
Firebase · runtime errors · user feedback
- 02Profile and debug
ANRs · crashes · slow interactions
- 03Isolate the risky path
WebView and brittle legacy boundaries
- 04Native Flutter flow
Bounded replacement and refactor
- 05Production release
Continue product delivery
- 06Observe the result
Use real-world evidence for the next cycle
- Production signals connects to Profile and debug.
- Profile and debug connects to Isolate the risky path.
- Isolate the risky path connects to Native Flutter flow.
- Native Flutter flow connects to Production release.
- Production release connects to Observe the result.
- Observe the result connects to Production signals.
Close the loop
Instrumentation turns isolated reports into an engineering signal.
I added Firebase production instrumentation and analytics, then combined real-world feedback with profiling and debugging evidence.
That loop made performance, responsiveness, and reliability work observable rather than dependent on reproducing every failure locally.
Proprietary production code
About the source code.
The source code is proprietary to Shuru Technologies. I can discuss my responsibilities, profiling and debugging approach, technical decisions, trade-offs, and outcomes without disclosing confidential material.