Recent Blog Posts
Insights on AI Agents, Modern Web, and the Future of Engineering.
Testing Bloc State Transitions with blocTest in Flutter
blocTest makes Bloc state machine behavior verifiable. Learn how to assert exact state transition sequences, mock dependencies, and catch regressions in CI.
Caching for Agentic RAG: Index Refresh and Query Caching
Agentic RAG loops re-retrieve constantly. Layer query caching, response caching, and index refresh policies to cut latency and LLM bills without serving stale answers.
Debugging Flutter Apps with DevTools: A Practical Tour
A practical tour of Flutter DevTools - Inspector, Performance, CPU Profiler, Memory, Network, and the debugger - with a workflow for hunting jank and leaks.
Escalation Ladders: Handing Failed Tasks to Humans with Full Context
Autonomous agents fail. Design escalation ladders that detect failure, retry intelligently, and hand work to humans with the full context needed to finish in one pass.
Firebase Storage in Flutter: Upload, Download, and Secure Files
A full walkthrough of cloud_firestore-style file handling with firebase_storage in Flutter - uploads with progress, downloads, listing, and security rules that hold up.
Flutter CI/CD Pipelines: Automating Test and Release
Build a Flutter CI/CD pipeline that analyzes, tests, and ships. From GitHub Actions to fastlane and Xcode Cloud, here is what a production pipeline looks like.
Policy Enforcement Layers for Autonomous Agents: Guarding Every Tool Call
One guardrail is not a security model. Layer input validation, tool scopes, runtime policy checks, and MCP authorization so every agent tool call passes through defense in depth.
PydanticAI vs. OpenAI Agents SDK: A Side-by-Side Build Comparison
Build the same triage agent twice - once in PydanticAI, once in the OpenAI Agents SDK - and compare typing, tools, guardrails, sessions, and observability.
Riverpod Testing Patterns: Isolated Provider Tests in Flutter
Test Flutter apps with confidence using Riverpod. ProviderContainer.test(), provider overrides, and widget-test patterns that keep dependencies isolated.
Visualizing Agent Trajectories: Debugging Loops and Dead Ends
Agent logs lie by omission. Learn to render trajectories as graphs, spot infinite loops and dead ends, and turn run visualization into a debugging practice.
GraphQL in Flutter: Queries, Caching, and Subscriptions with graphql_flutter
A practical guide to GraphQL in Flutter with graphql_flutter: client setup with links and caching, Query and Mutation widgets, optimistic updates, WebSocket subscriptions, hooks, and code generation.
Google Opal: Building AI Mini-Apps with A2UI
Google Opal lets anyone build AI mini-apps with natural language. Learn how Opal uses the A2UI protocol to power its generative UI, and what it means for Flutter developers building agent-generated interfaces.