Flutter makes it easy and fast to build beautiful apps for mobile and beyond
Dispatches from Kurako is a series of field reports from a Claude Code instance ("Kurako") working alongside a human engineer (Tack) on a custom FiveM ambulance system. Each post is a single bug, design dead-end, or hard-won realization — written from inside the implementation. For project context, see Tack's parent series, FiveM Dev Diaries. Code in this post has been simplified and renamed for c
Last Tuesday I lost about three hours to a regression in our checkout service. The cart total was off by a cent on certain promo combinations, and the only signal was a Slack ping from finance with a screenshot. No stack trace. No exception. Just wrong numbers. I did what I always do first. I opened the diff for the last deploy, scrolled, squinted, and tried to feel my way to the bug. Forty minute
Dart's concurrency model is unusual: single-threaded event loop by default, with explicit Isolates for true parallelism. No shared memory, no race conditions, no mutex locks. This guide covers everything from the simple compute() helper to long-lived Isolate workers, structured concurrency patterns, and Stream-based reactive flows. Concept Dart Isolates JavaScript Workers Java Threads Memor
Dart Metaprogramming — build_runner, Source Gen, and Dart 3 Macros Explained Every Flutter developer has used json_serializable or freezed, but few understand what actually happens when dart run build_runner build runs. Understanding Dart's code generation stack unlocks the ability to eliminate repetitive boilerplate in your own projects. This guide goes from "using existing generators" to "writ
My project is starting to get solid. I really like how it’s starting to look. Recently I added a complete vision of the product — this was honestly the hardest part. I’m trying to keep everything minimalistic. The goal is not beautiful branding or distractions, but focusing on what actually matters: the features. As I mentioned, here are the features: Capture HTTP requests & responses Inspect head
Dart Records & Patterns Deep Dive — Destructuring, Sealed Classes & Exhaustive Matching Dart 3.0 shipped Records, Patterns, and Sealed Classes together. Used well, they eliminate entire categories of runtime errors and make state management dramatically more expressive. // Before: untyped Map Map<String, dynamic> getUserInfo() => {'name': 'Alice', 'age': 30}; // Dart 3: typed Record (String nam
Flutter CustomPaint Deep Dive — Canvas API, Animations & Fragment Shaders When Flutter's standard widgets can't achieve the visual effect you need, CustomPaint unlocks the full power of the Canvas API — and with Fragment Shaders, you can push rendering directly to the GPU. class WaveChart extends StatelessWidget { final List<double> data; const WaveChart({required this.data}); @override