Banana List
A shared checklist app that had to feel faster than anything else on the market.
- Role
- Period
- Stack
- Store rating
Starting point
The list-app market is crowded. The bar: when one person checks off an item, everyone else must see it instantly – no delay, no conflicts, even when two people type at once.
What I did
Real-time sync via Firestore streams with an MVVM architecture, optimistic UI (the interface updates before the server responds), a custom design system with micro-interactions and swipe gestures, invite by link.
In 2026 I moved the app into my Flutter workspace: four layers (domain, data, application, presentation) with get_it and ChangeNotifier, shared packages for login, in-app purchases via RevenueCat, deep links and analytics. Unit and widget tests, tests of the Firestore security rules in the emulator and a CI with GitHub Actions and Codemagic guard every release.
Result
Live in both stores, store rating 5/5, smooth animations at a constant frame rate on iOS and Android.
Stack
Flutter, Dart, get_it, go_router, Firebase (Auth, Firestore), RevenueCat, mocktail, GitHub Actions, Codemagic, Figma