<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>devShakib — Flutter, Firebase, Cloud &amp; AI</title>
    <link>https://devshakibio.web.app/blog</link>
    <atom:link href="https://devshakibio.web.app/feed.xml" rel="self" type="application/rss+xml"/>
    <description>Practical engineering writing on Flutter, Firebase, Dart, Cloud, DevOps and AI by K M Shahriar Hossain (devShakib).</description>
    <language>en</language>
    <managingEditor>devshakib015@gmail.com (K M Shahriar Hossain)</managingEditor>
    <webMaster>devshakib015@gmail.com (K M Shahriar Hossain)</webMaster>
    <lastBuildDate>Sun, 23 Aug 2026 15:26:02 +0000</lastBuildDate>
    <image>
      <url>https://devshakibio.web.app/icons/og-image.png</url>
      <title>devShakib</title>
      <link>https://devshakibio.web.app/blog</link>
    </image>
    <item>
      <title>Free Tools as a Growth Engine: What 98 Browser Tools Taught Me About Distribution</title>
      <link>https://devshakibio.web.app/blog/free-tools-as-a-growth-engine-what-98-browser-tools-taught-me-about-distribution</link>
      <guid isPermaLink="true">https://devshakibio.web.app/blog/free-tools-as-a-growth-engine-what-98-browser-tools-taught-me-about-distribution</guid>
      <dc:creator>K M Shahriar Hossain</dc:creator>
      <category>Startup</category>
      <pubDate>Sun, 23 Aug 2026 15:26:02 +0000</pubDate>
      <description>What building 98 free browser tools and 32 games taught me about distribution: search-intent magnets, zero marginal cost, and the power law nobody mentions.</description>
    </item>
    <item>
      <title>Reviewing AI-Written Code: What a CTO Actually Checks in a Generated Diff</title>
      <link>https://devshakibio.web.app/blog/reviewing-ai-written-code-what-a-cto-actually-checks-in-a-generated-diff</link>
      <guid isPermaLink="true">https://devshakibio.web.app/blog/reviewing-ai-written-code-what-a-cto-actually-checks-in-a-generated-diff</guid>
      <dc:creator>K M Shahriar Hossain</dc:creator>
      <category>Leadership</category>
      <pubDate>Fri, 21 Aug 2026 10:21:27 +0000</pubDate>
      <description>How I review AI-generated code as a CTO: the failure modes unique to it, why a clean analyzer proves nothing, adversarial verification, and who owns the bug.</description>
    </item>
    <item>
      <title>Firestore Security Rules: Deny by Default, Then Open the Narrowest Hole</title>
      <link>https://devshakibio.web.app/blog/firestore-security-rules-deny-by-default-then-open-the-narrowest-hole</link>
      <guid isPermaLink="true">https://devshakibio.web.app/blog/firestore-security-rules-deny-by-default-then-open-the-narrowest-hole</guid>
      <dc:creator>K M Shahriar Hossain</dc:creator>
      <category>Security</category>
      <pubDate>Wed, 19 Aug 2026 10:31:37 +0000</pubDate>
      <description>The Firestore and Storage rules I actually ship, line by line: admin email claims, published-only reads, field whitelists, and the list denial that looks like a bug.</description>
    </item>
    <item>
      <title>Dart Records and Pattern Matching in Production: Where They Earn Their Keep</title>
      <link>https://devshakibio.web.app/blog/dart-records-and-pattern-matching-in-production-where-they-earn-their-keep</link>
      <guid isPermaLink="true">https://devshakibio.web.app/blog/dart-records-and-pattern-matching-in-production-where-they-earn-their-keep</guid>
      <dc:creator>K M Shahriar Hossain</dc:creator>
      <category>Dart</category>
      <pubDate>Sun, 16 Aug 2026 15:06:42 +0000</pubDate>
      <description>Three years of shipping Dart 3 records and patterns: where they genuinely help, why positional fields turn into a trap, and why sealed classes are the real win.</description>
    </item>
    <item>
      <title>Shipping a macOS App Outside the App Store: Code Signing, Notarization and Gatekeeper</title>
      <link>https://devshakibio.web.app/blog/shipping-a-macos-app-outside-the-app-store-code-signing-notarization-gatekeeper</link>
      <guid isPermaLink="true">https://devshakibio.web.app/blog/shipping-a-macos-app-outside-the-app-store-code-signing-notarization-gatekeeper</guid>
      <dc:creator>K M Shahriar Hossain</dc:creator>
      <category>DevOps</category>
      <pubDate>Wed, 12 Aug 2026 12:03:21 +0000</pubDate>
      <description>Why your .dmg tells users the app is damaged, and the exact codesign, notarytool and stapler commands that make a macOS build open on a stranger&#x27;s Mac.</description>
    </item>
    <item>
      <title>Registry-Driven Feature Modules in Flutter: 130 Features, One Parametric Route</title>
      <link>https://devshakibio.web.app/blog/registry-driven-feature-modules-flutter-130-features-one-parametric-route</link>
      <guid isPermaLink="true">https://devshakibio.web.app/blog/registry-driven-feature-modules-flutter-130-features-one-parametric-route</guid>
      <dc:creator>K M Shahriar Hossain</dc:creator>
      <category>Architecture</category>
      <pubDate>Sun, 09 Aug 2026 10:41:47 +0000</pubDate>
      <description>How I keep 98 tools and 32 games in one Flutter app: metadata in a plain const list, builders in a deferred registry map, one parametric route, one test.</description>
    </item>
    <item>
      <title>Firestore Data Modelling for Read-Heavy Sites: Denormalisation, Projections, and Indexes</title>
      <link>https://devshakibio.web.app/blog/firestore-data-modelling-for-read-heavy-sites-denormalisation-projections-and-indexes</link>
      <guid isPermaLink="true">https://devshakibio.web.app/blog/firestore-data-modelling-for-read-heavy-sites-denormalisation-projections-and-indexes</guid>
      <dc:creator>K M Shahriar Hossain</dc:creator>
      <category>Firebase</category>
      <pubDate>Fri, 07 Aug 2026 13:34:58 +0000</pubDate>
      <description>Firestore schema design for content-driven sites: denormalise for reads, slug as document ID, field projections when a listing blows the 2MB response cap.</description>
    </item>
    <item>
      <title>Flutter Web SEO: Crawlable Content, JSON-LD, and Share Cards for a Canvas App</title>
      <link>https://devshakibio.web.app/blog/flutter-web-seo-crawlable-content-json-ld-and-share-cards-for-a-canvas-app</link>
      <guid isPermaLink="true">https://devshakibio.web.app/blog/flutter-web-seo-crawlable-content-json-ld-and-share-cards-for-a-canvas-app</guid>
      <dc:creator>K M Shahriar Hossain</dc:creator>
      <category>Web</category>
      <pubDate>Wed, 05 Aug 2026 11:22:34 +0000</pubDate>
      <description>Flutter web paints to a canvas, so crawlers get an empty DOM. The crawlable article body, JSON-LD @graph, generated OG cards and honest sitemap that fixed it.</description>
    </item>
    <item>
      <title>What 114 Blog Posts in Ten Months Actually Did for My Engineering Career</title>
      <link>https://devshakibio.web.app/blog/114-blog-posts-ten-months-engineering-career-retrospective</link>
      <guid isPermaLink="true">https://devshakibio.web.app/blog/114-blog-posts-ten-months-engineering-career-retrospective</guid>
      <dc:creator>K M Shahriar Hossain</dc:creator>
      <category>Career</category>
      <pubDate>Sun, 02 Aug 2026 17:18:06 +0000</pubDate>
      <description>An honest retrospective on 114 technical posts in ten months: the compounding retrieval effect, the cadence that survived, and the traffic that never arrived.</description>
    </item>
    <item>
      <title>Multi-Agent AI Workflows in Practice: 32 Browser Games, One Kit Contract, Adversarial QA</title>
      <link>https://devshakibio.web.app/blog/multi-agent-ai-workflows-32-browser-games-kit-contract-adversarial-qa</link>
      <guid isPermaLink="true">https://devshakibio.web.app/blog/multi-agent-ai-workflows-32-browser-games-kit-contract-adversarial-qa</guid>
      <dc:creator>K M Shahriar Hossain</dc:creator>
      <category>AI</category>
      <pubDate>Wed, 29 Jul 2026 13:44:08 +0000</pubDate>
      <description>How I shipped 32 browser games with one AI agent per game against a shared kit contract, an adversarial QA pass, and the prompt fix that killed high bugs.</description>
    </item>
    <item>
      <title>Flutter Web Feels Laggy Even When the Metrics Look Fine: Five Fixes That Worked</title>
      <link>https://devshakibio.web.app/blog/flutter-web-feels-laggy-when-the-metrics-look-fine-five-fixes-that-worked</link>
      <guid isPermaLink="true">https://devshakibio.web.app/blog/flutter-web-feels-laggy-when-the-metrics-look-fine-five-fixes-that-worked</guid>
      <dc:creator>K M Shahriar Hossain</dc:creator>
      <category>Performance</category>
      <pubDate>Sun, 26 Jul 2026 13:34:58 +0000</pubDate>
      <description>Good Lighthouse scores, syrupy scrolling. The five fixes that killed jank in my Flutter web app: BackdropFilter, fonts, a 1.9MB bundle, images, rebuild storms.</description>
    </item>
    <item>
      <title>How I Run 114 Posts, 98 Tools and 32 Games on Firebase Blaze for $0 a Month</title>
      <link>https://devshakibio.web.app/blog/how-i-run-114-posts-98-tools-and-32-games-on-firebase-blaze-for-zero-a-month</link>
      <guid isPermaLink="true">https://devshakibio.web.app/blog/how-i-run-114-posts-98-tools-and-32-games-on-firebase-blaze-for-zero-a-month</guid>
      <dc:creator>K M Shahriar Hossain</dc:creator>
      <category>Firebase</category>
      <pubDate>Wed, 22 Jul 2026 17:48:36 +0000</pubDate>
      <description>114 posts, 98 tools and 32 games on Firebase Blaze, billed at $0.00 a month. The exact rules: no Cloud Functions, no binaries in Storage, no per-play writes.</description>
    </item>
    <item>
      <title>CanvasKit Layout Traps: The Unbounded Constraint Bug That Only Blanks Release Builds</title>
      <link>https://devshakibio.web.app/blog/canvaskit-layout-traps-the-unbounded-constraint-bug-that-only-blanks-release-builds</link>
      <guid isPermaLink="true">https://devshakibio.web.app/blog/canvaskit-layout-traps-the-unbounded-constraint-bug-that-only-blanks-release-builds</guid>
      <dc:creator>K M Shahriar Hossain</dc:creator>
      <category>Flutter</category>
      <pubDate>Sun, 19 Jul 2026 16:57:39 +0000</pubDate>
      <description>A roulette board rendered blank in production while flutter analyze stayed green. The CanvasKit unbounded-constraint trap, why release hides it, and how to catch it.</description>
    </item>
    <item>
      <title>Deferred Imports in Dart: Code Splitting That Actually Splits</title>
      <link>https://devshakibio.web.app/blog/deferred-imports-in-dart-code-splitting-that-actually-splits</link>
      <guid isPermaLink="true">https://devshakibio.web.app/blog/deferred-imports-in-dart-code-splitting-that-actually-splits</guid>
      <dc:creator>K M Shahriar Hossain</dc:creator>
      <category>Dart</category>
      <pubDate>Wed, 15 Jul 2026 14:45:15 +0000</pubDate>
      <description>Dart deferred imports compile fine and often split nothing. The eager-import rule, loadLibrary retries, a flash-free DeferredPage, and verifying from build output.</description>
    </item>
    <item>
      <title>Self-Hosting Fonts in Flutter Web: Dropping the google_fonts Package</title>
      <link>https://devshakibio.web.app/blog/self-hosting-fonts-in-flutter-web-dropping-the-google-fonts-package</link>
      <guid isPermaLink="true">https://devshakibio.web.app/blog/self-hosting-fonts-in-flutter-web-dropping-the-google-fonts-package</guid>
      <dc:creator>K M Shahriar Hossain</dc:creator>
      <category>Web</category>
      <pubDate>Sun, 12 Jul 2026 15:56:32 +0000</pubDate>
      <description>Self-host Inter, Space Grotesk and JetBrains Mono in Flutter web: the fonttools subsetting pipeline, the variable-font axis trap, and why ttf beats woff2 here.</description>
    </item>
    <item>
      <title>Flutter Web Code Splitting With Deferred Imports and Parametric Routes</title>
      <link>https://devshakibio.web.app/blog/flutter-web-code-splitting-with-deferred-imports-and-parametric-routes</link>
      <guid isPermaLink="true">https://devshakibio.web.app/blog/flutter-web-code-splitting-with-deferred-imports-and-parametric-routes</guid>
      <dc:creator>K M Shahriar Hossain</dc:creator>
      <category>Performance</category>
      <pubDate>Thu, 09 Jul 2026 11:42:54 +0000</pubDate>
      <description>How I moved 98 Flutter tools and 32 games out of main.dart.js with deferred imports and one parametric route: 1.92MB to 1.08MB brotli, and what stayed put.</description>
    </item>
    <item>
      <title>Offline-First Without Corruption: Outboxes, Idempotency, and Conflict Resolution That Actually Holds</title>
      <link>https://devshakibio.web.app/blog/offline-first-without-corruption-outboxes-idempotency-and-conflict-resolution-that-actuall</link>
      <guid isPermaLink="true">https://devshakibio.web.app/blog/offline-first-without-corruption-outboxes-idempotency-and-conflict-resolution-that-actuall</guid>
      <dc:creator>K M Shahriar Hossain</dc:creator>
      <category>Architecture</category>
      <pubDate>Mon, 06 Jul 2026 11:35:15 +0000</pubDate>
      <description>Build offline-first Flutter apps without data corruption: durable outbox pattern, idempotency keys, optimistic concurrency version checks, and safe conflict resolution.</description>
    </item>
    <item>
      <title>You Are the Architecture: System Design When the Team Is Just You</title>
      <link>https://devshakibio.web.app/blog/you-are-the-architecture-system-design-when-the-team-is-just-you</link>
      <guid isPermaLink="true">https://devshakibio.web.app/blog/you-are-the-architecture-system-design-when-the-team-is-just-you</guid>
      <dc:creator>K M Shahriar Hossain</dc:creator>
      <category>Architecture</category>
      <pubDate>Sat, 27 Jun 2026 10:06:00 +0000</pubDate>
      <description>Solo system design for one-person teams: minimize operational load, pick boring tech, buy before you build, and design failures to degrade instead of cascade.</description>
    </item>
    <item>
      <title>Shipping AI Features in Flutter Without Setting Your API Bill (or Your Keys) on Fire</title>
      <link>https://devshakibio.web.app/blog/shipping-ai-features-in-flutter-without-setting-your-api-bill-or-your-keys-on-fire</link>
      <guid isPermaLink="true">https://devshakibio.web.app/blog/shipping-ai-features-in-flutter-without-setting-your-api-bill-or-your-keys-on-fire</guid>
      <dc:creator>K M Shahriar Hossain</dc:creator>
      <category>AI</category>
      <pubDate>Fri, 26 Jun 2026 10:10:00 +0000</pubDate>
      <description>Ship LLM features in Flutter without leaking API keys or blowing your bill: a thin backend proxy, token streaming, secure tool-use, and prompt caching that cuts cost.</description>
    </item>
    <item>
      <title>Motion is a language and most apps are mumbling</title>
      <link>https://devshakibio.web.app/blog/motion-is-a-language-and-most-apps-are-mumbling</link>
      <guid isPermaLink="true">https://devshakibio.web.app/blog/motion-is-a-language-and-most-apps-are-mumbling</guid>
      <dc:creator>K M Shahriar Hossain</dc:creator>
      <category>Design</category>
      <pubDate>Thu, 25 Jun 2026 09:35:00 +0000</pubDate>
      <description>Motion design is a communication channel, not decoration. Learn the three questions every UI animation must answer, easing curves vs spring physics, and Flutter motion patterns.</description>
    </item>
    <item>
      <title>How I close the gap between a Figma file and what actually ships</title>
      <link>https://devshakibio.web.app/blog/how-i-close-the-gap-between-a-figma-file-and-what-actually-ships</link>
      <guid isPermaLink="true">https://devshakibio.web.app/blog/how-i-close-the-gap-between-a-figma-file-and-what-actually-ships</guid>
      <dc:creator>K M Shahriar Hossain</dc:creator>
      <category>Design</category>
      <pubDate>Mon, 22 Jun 2026 17:15:00 +0000</pubDate>
      <description>A practical Figma-to-Flutter design handoff system: read files as specs, map auto-layout to flexbox, sync design tokens, and use golden tests to kill UI drift.</description>
    </item>
    <item>
      <title>Choosing State Management for a Large Flutter App in 2026: My Pragmatic Take</title>
      <link>https://devshakibio.web.app/blog/choosing-state-management-for-a-large-flutter-app-in-2026-my-pragmatic-take</link>
      <guid isPermaLink="true">https://devshakibio.web.app/blog/choosing-state-management-for-a-large-flutter-app-in-2026-my-pragmatic-take</guid>
      <dc:creator>K M Shahriar Hossain</dc:creator>
      <category>Flutter</category>
      <pubDate>Fri, 19 Jun 2026 09:56:00 +0000</pubDate>
      <description>Flutter state management for large apps in 2026: Riverpod vs Bloc vs Provider vs signals, with real decision criteria, code, and testing tradeoffs.</description>
    </item>
    <item>
      <title>Building a Scalable Design System in Flutter That Survives Growth</title>
      <link>https://devshakibio.web.app/blog/building-a-scalable-design-system-in-flutter-that-survives-growth</link>
      <guid isPermaLink="true">https://devshakibio.web.app/blog/building-a-scalable-design-system-in-flutter-that-survives-growth</guid>
      <dc:creator>K M Shahriar Hossain</dc:creator>
      <category>Design</category>
      <pubDate>Thu, 18 Jun 2026 01:51:00 +0000</pubDate>
      <description>Build a scalable Flutter design system with semantic design tokens, ThemeExtension theming, intent-based component APIs, and lint rules that stop UI drift as teams grow.</description>
    </item>
    <item>
      <title>My Knowledge Diary Is a System, Not a Habit</title>
      <link>https://devshakibio.web.app/blog/my-knowledge-diary-is-a-system-not-a-habit</link>
      <guid isPermaLink="true">https://devshakibio.web.app/blog/my-knowledge-diary-is-a-system-not-a-habit</guid>
      <dc:creator>K M Shahriar Hossain</dc:creator>
      <category>Career</category>
      <pubDate>Mon, 15 Jun 2026 12:25:00 +0000</pubDate>
      <description>A knowledge diary that compounds runs on a capture-to-publish pipeline, not willpower. Here&#x27;s the exact system that turns raw dev notes into published atoms.</description>
    </item>
    <item>
      <title>Serverless vs. Containers, With the Marketing Removed</title>
      <link>https://devshakibio.web.app/blog/serverless-vs-containers-with-the-marketing-removed</link>
      <guid isPermaLink="true">https://devshakibio.web.app/blog/serverless-vs-containers-with-the-marketing-removed</guid>
      <dc:creator>K M Shahriar Hossain</dc:creator>
      <category>DevOps</category>
      <pubDate>Sun, 14 Jun 2026 15:50:00 +0000</pubDate>
      <description>Serverless vs. containers without the hype: cold starts, cost curves, Kubernetes operational overhead, lock-in, and a five-question decision tree for small teams.</description>
    </item>
    <item>
      <title>Flutter on the Web in 2026: WASM, CanvasKit, SEO, and When to Actually Ship It</title>
      <link>https://devshakibio.web.app/blog/flutter-on-the-web-in-2026-wasm-canvaskit-seo-and-when-to-actually-ship-it</link>
      <guid isPermaLink="true">https://devshakibio.web.app/blog/flutter-on-the-web-in-2026-wasm-canvaskit-seo-and-when-to-actually-ship-it</guid>
      <dc:creator>K M Shahriar Hossain</dc:creator>
      <category>Web</category>
      <pubDate>Fri, 12 Jun 2026 09:19:00 +0000</pubDate>
      <description>Flutter web in 2026: WASM vs CanvasKit renderers, why canvas apps break SEO and link previews, and a decision checklist for when to actually ship Flutter web.</description>
    </item>
    <item>
      <title>My First 90 Days as CTO Were Mostly Deleting Things</title>
      <link>https://devshakibio.web.app/blog/my-first-90-days-as-cto-were-mostly-deleting-things</link>
      <guid isPermaLink="true">https://devshakibio.web.app/blog/my-first-90-days-as-cto-were-mostly-deleting-things</guid>
      <dc:creator>K M Shahriar Hossain</dc:creator>
      <category>Startup</category>
      <pubDate>Tue, 09 Jun 2026 15:30:00 +0000</pubDate>
      <description>A new CTO&#x27;s first 90 days: why subtraction beats a week-one roadmap. Delete inherited complexity, freeze the critical system, and rebuild team trust.</description>
    </item>
    <item>
      <title>Treating Prompt Injection Like the SQL Injection of This Decade</title>
      <link>https://devshakibio.web.app/blog/treating-prompt-injection-like-the-sql-injection-of-this-decade</link>
      <guid isPermaLink="true">https://devshakibio.web.app/blog/treating-prompt-injection-like-the-sql-injection-of-this-decade</guid>
      <dc:creator>K M Shahriar Hossain</dc:creator>
      <category>AI</category>
      <pubDate>Mon, 08 Jun 2026 18:21:00 +0000</pubDate>
      <description>Prompt injection is the SQL injection of the LLM era. A practical guide to threat modeling, least-privilege tools, content isolation, allowlists, and defense in depth.</description>
    </item>
    <item>
      <title>Dart 3 in Practice: Records, Patterns and Sealed Classes That Actually Pay Off</title>
      <link>https://devshakibio.web.app/blog/dart-3-in-practice-records-patterns-and-sealed-classes-that-actually-pay-off</link>
      <guid isPermaLink="true">https://devshakibio.web.app/blog/dart-3-in-practice-records-patterns-and-sealed-classes-that-actually-pay-off</guid>
      <dc:creator>K M Shahriar Hossain</dc:creator>
      <category>Dart</category>
      <pubDate>Sun, 07 Jun 2026 22:58:00 +0000</pubDate>
      <description>Dart 3 records, pattern matching, and sealed classes in production Flutter: real before/after refactors, exhaustive switches, if-case JSON parsing, and when to stop.</description>
    </item>
    <item>
      <title>Core Web Vitals for CanvasKit Flutter Web: What You Can Actually Move</title>
      <link>https://devshakibio.web.app/blog/core-web-vitals-for-canvaskit-flutter-web-what-you-can-actually-move</link>
      <guid isPermaLink="true">https://devshakibio.web.app/blog/core-web-vitals-for-canvaskit-flutter-web-what-you-can-actually-move</guid>
      <dc:creator>K M Shahriar Hossain</dc:creator>
      <category>Performance</category>
      <pubDate>Fri, 05 Jun 2026 15:01:00 +0000</pubDate>
      <description>Core Web Vitals for CanvasKit Flutter Web are broken by design. Learn why LCP, CLS and INP mislead, and exactly which loading, layout and frame levers you can move.</description>
    </item>
    <item>
      <title>By 2050 Nobody Writes Code, but Somebody Still Has to Be Right</title>
      <link>https://devshakibio.web.app/blog/by-2050-nobody-writes-code-but-somebody-still-has-to-be-right</link>
      <guid isPermaLink="true">https://devshakibio.web.app/blog/by-2050-nobody-writes-code-but-somebody-still-has-to-be-right</guid>
      <dc:creator>K M Shahriar Hossain</dc:creator>
      <category>Future</category>
      <pubDate>Wed, 03 Jun 2026 20:56:00 +0000</pubDate>
      <description>By 2050 AI writes the code and verification becomes the job. Why specs, invariants, and telling correct from plausible are the engineering skills that survive.</description>
    </item>
    <item>
      <title>Rotate Keys Without the 2 A.M. Outage</title>
      <link>https://devshakibio.web.app/blog/rotate-keys-without-the-2-a-m-outage</link>
      <guid isPermaLink="true">https://devshakibio.web.app/blog/rotate-keys-without-the-2-a-m-outage</guid>
      <dc:creator>K M Shahriar Hossain</dc:creator>
      <category>Security</category>
      <pubDate>Tue, 02 Jun 2026 15:48:57 +0000</pubDate>
      <description>Rotate secrets without downtime: use short-lived identity-based credentials, a TTL-cached secret accessor, and an additive overlap-window runbook for GCP and AWS.</description>
    </item>
    <item>
      <title>Keeping a Human in the Loop Without Making Them the Bottleneck</title>
      <link>https://devshakibio.web.app/blog/keeping-a-human-in-the-loop-without-making-them-the-bottleneck</link>
      <guid isPermaLink="true">https://devshakibio.web.app/blog/keeping-a-human-in-the-loop-without-making-them-the-bottleneck</guid>
      <dc:creator>K M Shahriar Hossain</dc:creator>
      <category>AI</category>
      <pubDate>Mon, 01 Jun 2026 14:08:00 +0000</pubDate>
      <description>Human-in-the-loop AI done right: route by reversibility and blast radius, build real confidence signals, design review UIs that stop rubber-stamping.</description>
    </item>
    <item>
      <title>Modern Flutter for Production: What I Actually Reach For (and What I Skip)</title>
      <link>https://devshakibio.web.app/blog/modern-flutter-for-production-what-i-actually-reach-for-and-what-i-skip</link>
      <guid isPermaLink="true">https://devshakibio.web.app/blog/modern-flutter-for-production-what-i-actually-reach-for-and-what-i-skip</guid>
      <dc:creator>K M Shahriar Hossain</dc:creator>
      <category>Flutter</category>
      <pubDate>Sun, 31 May 2026 04:44:00 +0000</pubDate>
      <description>Modern Flutter for production: a field guide to Impeller rendering, adaptive UI with LayoutBuilder, DevTools profiling, and the packages I reach for vs. skip.</description>
    </item>
    <item>
      <title>Flutter Performance in Practice: Impeller, Jank Hunting, and Hitting 120fps</title>
      <link>https://devshakibio.web.app/blog/flutter-performance-in-practice-impeller-jank-hunting-and-hitting-120fps</link>
      <guid isPermaLink="true">https://devshakibio.web.app/blog/flutter-performance-in-practice-impeller-jank-hunting-and-hitting-120fps</guid>
      <dc:creator>K M Shahriar Hossain</dc:creator>
      <category>Performance</category>
      <pubDate>Sat, 30 May 2026 07:51:00 +0000</pubDate>
      <description>Flutter performance guide: profile jank in DevTools, read UI vs raster threads, tame Impeller, cut rebuilds, optimize lists and images, and reliably hit 120fps.</description>
    </item>
    <item>
      <title>The Three Screens That Decide Trust: Empty, Loading, Error</title>
      <link>https://devshakibio.web.app/blog/the-three-screens-that-decide-trust-empty-loading-error</link>
      <guid isPermaLink="true">https://devshakibio.web.app/blog/the-three-screens-that-decide-trust-empty-loading-error</guid>
      <dc:creator>K M Shahriar Hossain</dc:creator>
      <category>Design</category>
      <pubDate>Fri, 29 May 2026 20:08:20 +0000</pubDate>
      <description>Empty, loading, and error states decide whether users trust your app. Learn to design UI states first with Dart sealed classes, skeleton screens, and retry-safe error handling.</description>
    </item>
    <item>
      <title>The 1:1 Is Not a Status Meeting, and Treating It Like One Wastes Both of You</title>
      <link>https://devshakibio.web.app/blog/the-1-1-is-not-a-status-meeting-and-treating-it-like-one-wastes-both-of-you</link>
      <guid isPermaLink="true">https://devshakibio.web.app/blog/the-1-1-is-not-a-status-meeting-and-treating-it-like-one-wastes-both-of-you</guid>
      <dc:creator>K M Shahriar Hossain</dc:creator>
      <category>Leadership</category>
      <pubDate>Thu, 28 May 2026 10:56:00 +0000</pubDate>
      <description>How to run 1:1 meetings that build trust and retain engineers instead of wasting them on status updates: agenda ownership, hard feedback, career growth, follow-through.</description>
    </item>
    <item>
      <title>The Security Work That Actually Matters When You&#x27;re a Team of Three</title>
      <link>https://devshakibio.web.app/blog/the-security-work-that-actually-matters-when-you-re-a-team-of-three</link>
      <guid isPermaLink="true">https://devshakibio.web.app/blog/the-security-work-that-actually-matters-when-you-re-a-team-of-three</guid>
      <dc:creator>K M Shahriar Hossain</dc:creator>
      <category>Security</category>
      <pubDate>Wed, 27 May 2026 20:30:00 +0000</pubDate>
      <description>Startup security for a team of three: the 5 controls that actually stop breaches — MFA, secret scanning, Firebase rules, least-privilege, tested backups. Skip the theater.</description>
    </item>
    <item>
      <title>What Actually Shrinks a Flutter App: Split-Per-ABI, Deferred Components, and Reading the Size Report</title>
      <link>https://devshakibio.web.app/blog/what-actually-shrinks-a-flutter-app-split-per-abi-deferred-components-and-reading-the-size</link>
      <guid isPermaLink="true">https://devshakibio.web.app/blog/what-actually-shrinks-a-flutter-app-split-per-abi-deferred-components-and-reading-the-size</guid>
      <dc:creator>K M Shahriar Hossain</dc:creator>
      <category>Flutter</category>
      <pubDate>Tue, 26 May 2026 11:34:01 +0000</pubDate>
      <description>Reduce Flutter app size for real: App Bundles, split-per-ABI, icon tree-shaking, deferred components, and reading the DevTools size report to measure every megabyte.</description>
    </item>
    <item>
      <title>A Free, Practical CI/CD Pipeline for Flutter Web on Firebase Hosting</title>
      <link>https://devshakibio.web.app/blog/a-free-practical-cicd-pipeline-for-flutter-web-on-firebase-hosting</link>
      <guid isPermaLink="true">https://devshakibio.web.app/blog/a-free-practical-cicd-pipeline-for-flutter-web-on-firebase-hosting</guid>
      <dc:creator>K M Shahriar Hossain</dc:creator>
      <category>DevOps</category>
      <pubDate>Mon, 25 May 2026 09:11:00 +0000</pubDate>
      <description>Build a free Flutter web CI/CD pipeline with GitHub Actions and Firebase Hosting: per-PR preview URLs, service-account auth, aggressive caching, $0/month deploys.</description>
    </item>
    <item>
      <title>The Engineering Strategy Doc That Ends in Decisions, Not a Wiki Graveyard</title>
      <link>https://devshakibio.web.app/blog/the-engineering-strategy-doc-that-ends-in-decisions-not-a-wiki-graveyard</link>
      <guid isPermaLink="true">https://devshakibio.web.app/blog/the-engineering-strategy-doc-that-ends-in-decisions-not-a-wiki-graveyard</guid>
      <dc:creator>K M Shahriar Hossain</dc:creator>
      <category>Leadership</category>
      <pubDate>Sat, 23 May 2026 22:21:19 +0000</pubDate>
      <description>A CTO&#x27;s template for engineering strategy docs that force real decisions instead of dying in a wiki. Use tradeoffs, owners, and revisit conditions that stick.</description>
    </item>
    <item>
      <title>Running a Remote Team Across Five Time Zones Without Losing the Thread</title>
      <link>https://devshakibio.web.app/blog/running-a-remote-team-across-five-time-zones-without-losing-the-thread</link>
      <guid isPermaLink="true">https://devshakibio.web.app/blog/running-a-remote-team-across-five-time-zones-without-losing-the-thread</guid>
      <dc:creator>K M Shahriar Hossain</dc:creator>
      <category>Leadership</category>
      <pubDate>Thu, 21 May 2026 17:39:00 +0000</pubDate>
      <description>Run a distributed engineering team across time zones with async-first defaults, ruthless overlap hours, engineered handoffs, and accountability that measures work.</description>
    </item>
    <item>
      <title>What Leading Engineering Teams Taught Me About Senior Engineers</title>
      <link>https://devshakibio.web.app/blog/what-leading-engineering-teams-taught-me-about-senior-engineers</link>
      <guid isPermaLink="true">https://devshakibio.web.app/blog/what-leading-engineering-teams-taught-me-about-senior-engineers</guid>
      <dc:creator>K M Shahriar Hossain</dc:creator>
      <category>Career</category>
      <pubDate>Wed, 20 May 2026 02:00:00 +0000</pubDate>
      <description>Senior software engineers aren&#x27;t defined by coding speed but by judgment under ambiguity. A CTO&#x27;s lessons on hiring, mentoring, technical vision, and code review.</description>
    </item>
    <item>
      <title>Build Flavors Done Right, Before the Third Environment Bites You</title>
      <link>https://devshakibio.web.app/blog/build-flavors-done-right-before-the-third-environment-bites-you</link>
      <guid isPermaLink="true">https://devshakibio.web.app/blog/build-flavors-done-right-before-the-third-environment-bites-you</guid>
      <dc:creator>K M Shahriar Hossain</dc:creator>
      <category>Flutter</category>
      <pubDate>Tue, 19 May 2026 13:46:00 +0000</pubDate>
      <description>Flutter build flavors done right: compile-time environment config with dart-define-from-file, Android product flavors, iOS schemes, per-flavor Firebase, and CI.</description>
    </item>
    <item>
      <title>Shipping to Everyone at Once Is a Choice, and Usually the Wrong One</title>
      <link>https://devshakibio.web.app/blog/shipping-to-everyone-at-once-is-a-choice-and-usually-the-wrong-one</link>
      <guid isPermaLink="true">https://devshakibio.web.app/blog/shipping-to-everyone-at-once-is-a-choice-and-usually-the-wrong-one</guid>
      <dc:creator>K M Shahriar Hossain</dc:creator>
      <category>DevOps</category>
      <pubDate>Sun, 17 May 2026 16:38:00 +0000</pubDate>
      <description>Feature flags separate deploy from release: ramp progressive rollouts by percentage, gate on metrics, and roll back in seconds with a kill switch, no redeploy.</description>
    </item>
    <item>
      <title>Forms at Scale in Flutter Without a Form Package</title>
      <link>https://devshakibio.web.app/blog/forms-at-scale-in-flutter-without-a-form-package</link>
      <guid isPermaLink="true">https://devshakibio.web.app/blog/forms-at-scale-in-flutter-without-a-form-package</guid>
      <dc:creator>K M Shahriar Hossain</dc:creator>
      <category>Flutter</category>
      <pubDate>Fri, 15 May 2026 11:28:26 +0000</pubDate>
      <description>Build large, scalable Flutter forms without a form package. Master Form, FormField, validators, async validation, focus traversal and submission state in pure Dart.</description>
    </item>
    <item>
      <title>Event-Driven Architecture Without the Kafka Cargo Cult</title>
      <link>https://devshakibio.web.app/blog/event-driven-architecture-without-the-kafka-cargo-cult</link>
      <guid isPermaLink="true">https://devshakibio.web.app/blog/event-driven-architecture-without-the-kafka-cargo-cult</guid>
      <dc:creator>K M Shahriar Hossain</dc:creator>
      <category>Architecture</category>
      <pubDate>Thu, 14 May 2026 17:58:00 +0000</pubDate>
      <description>Event-driven architecture without Kafka: use the transactional outbox pattern with a Postgres or Firestore table, idempotency keys, and a worker to decouple your backend.</description>
    </item>
    <item>
      <title>Bridging Swift and Kotlin With Pigeon: Type-Safe Flutter Plugins Done Right</title>
      <link>https://devshakibio.web.app/blog/bridging-swift-and-kotlin-with-pigeon-type-safe-flutter-plugins-done-right</link>
      <guid isPermaLink="true">https://devshakibio.web.app/blog/bridging-swift-and-kotlin-with-pigeon-type-safe-flutter-plugins-done-right</guid>
      <dc:creator>K M Shahriar Hossain</dc:creator>
      <category>Flutter</category>
      <pubDate>Tue, 12 May 2026 09:14:00 +0000</pubDate>
      <description>Pigeon generates type-safe Flutter platform channels across Dart, Swift, and Kotlin — killing MethodChannel runtime crashes. Learn setup, HostApi vs FlutterApi, and facade architecture.</description>
    </item>
    <item>
      <title>Agentic Coding Changed My Workflow: How I Actually Use AI Coding Agents Day to Day</title>
      <link>https://devshakibio.web.app/blog/agentic-coding-changed-my-workflow-how-i-actually-use-ai-coding-agents-day-to-day</link>
      <guid isPermaLink="true">https://devshakibio.web.app/blog/agentic-coding-changed-my-workflow-how-i-actually-use-ai-coding-agents-day-to-day</guid>
      <dc:creator>K M Shahriar Hossain</dc:creator>
      <category>AI</category>
      <pubDate>Mon, 11 May 2026 00:45:00 +0000</pubDate>
      <description>How I actually use AI coding agents day to day as a Flutter dev: plan-first prompts, migrations, agent code review, guardrails, CLAUDE.md, and honest productivity gains.</description>
    </item>
    <item>
      <title>Firestore Security Rules Deserve Unit Tests, Not Hope</title>
      <link>https://devshakibio.web.app/blog/firestore-security-rules-deserve-unit-tests-not-hope</link>
      <guid isPermaLink="true">https://devshakibio.web.app/blog/firestore-security-rules-deserve-unit-tests-not-hope</guid>
      <dc:creator>K M Shahriar Hossain</dc:creator>
      <category>Firebase</category>
      <pubDate>Sun, 10 May 2026 10:49:51 +0000</pubDate>
      <description>Test Firestore security rules like real code with the Firebase Emulator Suite, @firebase/rules-unit-testing, assertSucceeds/assertFails cases, and CI gating.</description>
    </item>
  </channel>
</rss>
