The blog

All Posts

Production experience, unfiltered opinions, and deep dives into Flutter architecture.

Flutter vs Native

Flutter vs React Native in 2026. Renderers, bridges, and the choice that finally feels different.

A 2026 comparison of Flutter and React Native after both stacks finished major architectural rewrites. Impeller, Fabric, JSI, TurboModules, and which one to pick for what.

April 22, 202613 min read
AI and Flutter

GenAI features in a Flutter app. What works, what is broken, and what users actually want.

Postmortem of shipping a GenAI feature in a production Flutter app. Latency UX, streaming text, on-device vs cloud, what flopped, what stuck, and what the stores allow.

March 25, 20268 min read
AI and Flutter

Building an AI-powered code review assistant inside your Flutter dev workflow.

How to wire an LLM into a Flutter team's code review pipeline so it catches Dart-specific issues. Real prompts, a CI flowchart, and what does and does not work.

February 18, 20269 min read
AI and Flutter

Integrating an LLM into a Flutter app without it feeling like a science project.

A real architecture for calling an LLM API from a Flutter app. Streaming, error handling, loading states, and cost-aware design. With a sequence diagram of the full request lifecycle.

January 14, 20268 min read
Platform Deep Dives

Background processing in Flutter. What a native developer needs to know.

Isolates, WorkManager on Android, BGTaskScheduler on iOS, and the places where Flutter's abstraction breaks down. Native Kotlin and Swift equivalents included.

November 20, 20258 min read
Projects and Postmortems

Debugging a Flutter crash that only happened in production on iOS.

A real production crash that only reproduced in release iOS builds. The misleading clues, the actual root cause, and how I would have found it sooner.

October 30, 20257 min read
Flutter vs Native

Should your team rewrite the native app in Flutter? The real answer.

For engineering managers and tech leads weighing a rewrite. The hidden costs, the team realities, and a direct verdict for three team sizes.

September 9, 20258 min read
Flutter vs Native

Flutter gesture system vs UIGestureRecognizer. Why I miss UIKit sometimes.

GestureDetector, the gesture arena, and the things UIGestureRecognizer does without thinking. A deep dive with Swift and Dart side by side.

August 14, 20257 min read
Production Architecture

I recommended GetX for 2 years. I changed my mind. Here is why.

An honest account of what made GetX appealing, where it broke at scale, and the specific bug that made me switch a production app to Riverpod.

July 22, 20257 min read
Production Architecture

Structuring a large Flutter codebase. What actually scales.

Feature-first or layer-first? Where does dependency injection go? A real folder structure that survives ten engineers and three years of churn.

June 3, 20256 min read
Projects and Postmortems

Why our Flutter app was 200MB and how we got it down to 38MB.

A real binary-size investigation. Asset bloat, native libraries, build flags, and what actually moved the needle on a Flutter app that ballooned past 200MB.

May 12, 20257 min read
Platform Deep Dives

Android back gesture handling in Flutter vs native. The edge cases nobody talks about.

Predictive back, PopScope, GoRouter, and the bottom sheet that swallows your gesture. The Android back gesture story for Flutter, with Kotlin equivalents.

April 18, 20257 min read
Platform Deep Dives

Writing a Flutter platform channel in Swift. What the official docs skip.

A complete walk through a production platform channel in Swift, including threading, error propagation, and passing complex objects. The parts the docs gloss over.

March 28, 20257 min read
Production Architecture

Riverpod vs Bloc vs GetX. I used all three in production. Here is the honest breakdown.

Three production codebases, three state management choices. Where each one earned its keep, where each one cost me a weekend, and a recommendation matrix.

March 5, 20258 min read
Flutter vs Native

Flutter on iOS still does not feel native. Here is exactly why.

A line-by-line breakdown of where Flutter on iOS diverges from UIKit feel: scroll physics, text selection, keyboard, and font rendering. With code to close the gap.

February 10, 20256 min read
Flutter vs Native

I have shipped apps in Swift, Kotlin, and Flutter. Here is my unfiltered verdict after 18 months.

After eighteen months of shipping the same product surface in Swift, Kotlin, and Flutter, here is what actually held up in production and what did not.

January 15, 20258 min read
Flutterstacks | Flutter through native eyes