Command Palette
Search for a command to run...
More from this blog
Riverpod from the Perspective of a Long-Term Bloc User
I've been using Bloc for years. It was my go-to state management solution, and I was comfortable with it. Events go in, states come out. Simple, predictable, testable. So when people kept telling me to try Riverpod, I resisted. Why fix what isn't bro...
Flutter Performance: What Actually Makes a Difference
I've dealt with my share of performance issues in production Flutter apps. Janky scrolling that makes users think the app is broken. Memory leaks that crash the app after 10 minutes of use. The kind of problems that make you question your life choice...
Flutter Architecture Patterns: Clean Architecture vs Feature-First
I've been building Flutter apps for a team of around 5 developers for the past few years. When I started, everyone talked about Clean Architecture like it was the only "professional" way to build apps. So naturally, I tried it. After months of writin...
End-to-end testing on mobile apps with Maestro
Recently I talked about how to perform automated end-to-end testing on any mobile apps (yes, any, even those you don’t own) with Maestro.Deck: https://excalidraw.com/#json=YBaTDvWm8yTdshL8Z2IOL,7h7736K_Ey7wg08QljkbPg
Asynchronous and reactive Dart (Flutter)
Recently I gave a talk at Google DevFest Georgetown 2024, about asynchronous Dart features (now with quizzes built in!). Here are the slides I promised: