← back
Building Reliable Support Agents Using the Effect Typescript Library - Michael Fester
Takeaway
Effect brings functional-programming rigor to TypeScript so LLM agents get retries, fallbacks, observability and type-safe dependency injection without rolling your own infra.
Summary
- Michael Fester (CTO 14.ai) explains how their AI-native customer-support platform uses Effect, a TypeScript library, to wrap unreliable LLM APIs, async workflows and complex dependencies with type-safe primitives.
- Effect provides composable retries, structured errors, dependency injection, streaming interruptions and built-in OpenTelemetry observability — adopted incrementally across React frontend, Effect-RPC internal server, Effect-HTTP public API, data engine and Postgres + vector storage.
- Agents are modeled as planners that pick among Actions (atomic tool calls like 'fetch payment info'), Workflows (deterministic multi-step processes like cancellation flow with retention offers), and Sub-agents (domain groupings such as billing or log-retrieval).
- Reliability tricks: stateful retry policies that fall back GPT-4-mini → Gemini Flash 2.0 for tool calling, dual-stream tokens (one to user, one to analytics), and DI mock LLM providers for failure-injection tests.
- Lessons: the happy path looks clean but errors can silently get caught upstream; DI tracing at scale is hard; learning curve is real but benefits compound once it clicks.
effecttypescriptagents
Original description
In this video, we walk through how our team built production-ready support agents using the Effect TypeScript library. The video includes a demo of the agent in action, along with a breakdown of the architecture and design decisions behind it. We cover what worked well, what was challenging, and why we are continuing to invest in Effect for future development. If you’re building internal tools, working with LLMs, or automating customer support, this talk shares practical lessons on creating robust systems with strong guarantees. Topics include: Architectural patterns for agent-based systems Tradeoffs in developer experience Techniques for reliability and fault tolerance Feel free to reach out or share your thoughts: Twitter: x.com/michaelfester LinkedIn: linkedin.com/in/michaelfester