Blog
Practical notes on AI systems that need to hold up
Writing on LangGraph, workflow design, reliability, and the delivery details that make AI systems easier to understand, operate, and trust.
Articles
Browse the blog
No posts match the current search and tag filter.

What It Takes to Build Production-Ready LangGraph Systems
A production-oriented checklist for LangGraph systems: deterministic tests, evaluations, parallel workflows, control flow, and observability.

Command vs Send in LangGraph: Choosing the Right Primitive
When to use Command for control flow and Send for data parallelism in LangGraph, with practical testing examples for each.

Understanding LangGraph Workflows with LangSmith Traces and pytest
How LangSmith tracing complements pytest by showing the execution path behind LangGraph routing, retries, aggregation, and failures.

Testing Parallel LangGraph Workflows Without Losing Control
How to test LangGraph fan-out, Send-based parallel work, aggregation, and branch failure behavior without relying on output guessing.

Testing Isn’t Enough: Evaluating LangGraph Workflows That Actually Work
A practical evaluation pattern for LangGraph using pytest, small datasets, deterministic scorers, and LangSmith-backed experiment tracking.

How to Structure LangGraph Tests That Actually Scale
How to structure LangGraph tests into unit, graph, and failure layers so the suite stays useful as the workflow grows.

Stop Testing AI Outputs. Start Testing State
A better way to test LangGraph workflows by treating the graph as state transitions instead of judging final answer text.

Progress Indication with LangGraph and CopilotKit
A practical pattern for rendering progress cards in CopilotKit chat while LangGraph runs long-running agent workflows.

When LangGraph Fails, Your UX Shouldn’t: Designing Graceful Error Handling
A practical pattern for routing LangGraph failures to a user-facing error handler without breaking the user experience.
Want to see these ideas in a working interface?