Recent Blog Posts
Insights on AI Agents, Modern Web, and the Future of Engineering.
Build a Doodle Drawing App in Flutter: Strokes, Undo/Redo, and PNG Export
A complete doodle app in Flutter that also runs on the web: stroke model, gesture capture, undo/redo, color and width picker, clear, and PNG export.
A Robust Audio Player for Flutter Web with just_audio
Ship music and sound effects in a Flutter web app with just_audio: autoplay rules, position streams, web limitations like gapless and HLS, Media Session keys, and cleanup.
Flutter Web Caching Strategies: HTTP Headers, Hashed Builds, and Safe Deploys
Cache-Control rules for a Flutter web deployment so repeat visits load instantly and a new release never breaks clients still running the old bundle.
Camera Capture on Flutter Web: getUserMedia, Preview, and Snapshots
Open the camera in a Flutter web app the browser's way: secure contexts, Permissions-Policy, getUserMedia constraints and errors, HtmlElementView preview, canvas snapshots.
Browser Canvas 2D from Flutter Web: Paths, Pixels, and DPR
Use the browser's Canvas 2D API from Flutter web with JS interop: paths, Path2D, devicePixelRatio transforms, getImageData pitfalls, OffscreenCanvas workers, and how it differs from dart:ui Canvas.
Copy and Paste on Flutter Web: The Clipboard API Behind Clipboard.setData
How Flutter's Clipboard.setData and getData map to the browser Clipboard API on web, and the activation and permission rules that make reads fail silently.
Shipping a Flame Game on the Web: Hosting, Wasm, and Browser Gaps
Deploy a Flame game to GitHub Pages, itch.io, and Cloudflare Pages, work around web-only gaps in Flame.device and audio, build with Flutter Wasm, and keep the game at 60 fps.
Font Loading on Flutter Web: Assets, FOUT, and First Paint
How fonts actually load in a Flutter web build, why text flashes in a fallback face, and how to bundle or preload brand fonts for a fast first paint.
HTTP/2 and Flutter Web: What the Browser Already Does for You
How HTTP/2 changes loading a Flutter web app: framing, one connection per origin, ALPN negotiation, preload for main.dart.js, dead server push, and the HTTP/3 ceiling.
Machine Learning in Flutter Web: A Working Inference Pattern
Run ML models in a Flutter web app: the TensorFlow.js, ONNX Runtime Web, and Transformers.js landscape, plus asset loading, Web Worker inference, quantization, and caching.
ONNX Runtime Web: Running Models in a Flutter Web App
Export once from PyTorch or TensorFlow and run it in the browser with onnxruntime-web from Flutter: ORT format, execution providers, wasm paths, threads, and JS interop.
Measuring Flutter Web Performance: From DevTools to Real Users
Monitor Flutter web performance end to end: timeline flags and profile mode in Chrome DevTools, frame and bundle metrics, Core Web Vitals via JS interop, budgets, and a monitoring checklist.