Recent Blog Posts
Insights on AI Agents, Modern Web, and the Future of Engineering.
Decoupling Agent Triggers from Agent Execution with Task Queues
Synchronous agent invocation inside a webhook handler breaks under real traffic. Put a task queue between 'something happened' and 'the agent runs', and get the queue semantics, payload design, and retry split right.
Failure Injection for LLM Calls: Simulating Model Outages Before They Simulate Themselves
Happy-path mocks never catch resilience bugs. Inject timeouts, 5xx, 429s, mid-stream cuts, and malformed JSON into your LLM calls with deterministic failure plans, then assert what recovery actually did.
Idempotent Consumers: Delivering Agent Events Exactly Once
Exactly-once delivery is a lie at the transport level. Build idempotent event consumers for agents with dedup keys, a Postgres inbox table, transactional outbox, and side-effect fencing across LangGraph replays.
Tokenizers in Rust: The Quiet Default of Transformer Pipelines
Hugging Face's tokenizers crate is the unseen engine under most transformer pipelines — why tokenization is model identity, how the Rust core plus bindings is architected, and where its performance actually comes from.
Tracking Agent Latency: P50, P95, and P99 in Production
Why averages hide agent latency, how to read p50/p95/p99 for multi-step runs, and how to instrument the right histogram with OpenTelemetry GenAI conventions, PromQL, and an SLO you can defend.
Flutter Enterprise Adoption Patterns: What Actually Scales
The engineering practices that make Flutter survive enterprise scrutiny: support and upgrade policy, deterministic builds, monorepo workspaces, flavors, code ownership, CI goldens, plugin governance, and staged rollout.
Flutter Networking with the http Package: Requests, Errors, and Timeouts
A complete, testable networking layer in Flutter with package:http: GET and POST with JSON, base URLs through flavors, timeouts, typed exceptions, cancellation, MockClient tests, and when to move to dio.
SliverAppBar Patterns: Flexible, Pinned, and Floating Headers in Flutter
A practical guide to SliverAppBar: pinned vs floating vs snap behavior, FlexibleSpaceBar title fading and parallax, stretch over-scroll, the pinned+floating combo, NestedScrollView for tabbed layouts, and performance rules.
Injection-Resistant Tool Schemas: The Case for Strict Structured Inputs
Free-form string parameters are the largest prompt-injection surface in an agent. Tighten tool inputs with strict Pydantic schemas, enums, validators as policy boundaries, and reject-don't-sanitize semantics — and know what schemas cannot fix.
Streaming Tool Results Back into the Agent Loop
A five-minute tool call with no output looks like a hang. Stream intermediate events from tools into the agent loop with LangGraph stream modes, custom progress events, ordering and backpressure rules, and resume-safe design.
Docker Compose Profiles: Running Only the Services You Need
Compose profiles let one compose.yaml hold your core stack plus every debug, admin, and observability sidecar — and start only the subset you ask for.
Named Build Stages and --target: Building Just the Layer You Need
Name your Dockerfile stages with FROM ... AS, then build only the stage you need with --target — test images in CI, lean runtime images in release, one file.