JayWalk
2025 — Present · Lead Flutter Engineer (Tech For Palestine)
JayWalk connects activists and organizations to create, discover, and join assemblies through an interactive map — rated 4.8★ on Google Play. I joined when the app had been effectively dead for over a year, and brought it back to life.
The Challenge
The codebase had been unmaintained for more than a year: broken flows, an aging Provider/ChangeNotifier state layer scattered across 19+ ViewModels, sluggish network calls, layouts breaking on small screens, and a backlog of unresolved crashes. Users were leaving.
Results
- Over 70% measured performance improvement across critical screens.
- App revived on both stores — 4.8★ rating and growing installs.
- Zero-crash releases since the rebuild; development is active and ongoing.
The Approach
- 01Migrated the entire state layer from Provider/ChangeNotifier to BLoC on Clean Architecture (Bloc → UseCase → Repository → data source), removing 65+ scattered notifyListeners() calls.
- 02Rebuilt the networking layer with response caching and request de-duplication, dramatically cutting redundant calls.
- 03Repaired Firebase Cloud Messaging end to end — background handlers, iOS permission recovery, and reliable delivery.
- 04Fixed responsive breakpoints for small and mid-range devices (down to compact Android screens).
- 05Shipped a stream of new features: notifications, duplicate-assembly flows, map recentering, proximity sorting, filters, and an onboarding overhaul.
Built With
- Flutter
- Dart
- BLoC
- Clean Architecture
- GetIt
- Firebase Cloud Messaging
- Google Maps
- CI/CD