Lightweight OpenTelemetry for Chatbots

How to add distributed tracing, custom metrics, and cost tracking to three different chatbot architectures with only 25MB of overhead. Cloud-native observability without Prometheus or Grafana.

Read More →

Best Practices for Persisting Chatbot Conversations

When building chatbots, one critical decision is whether and how to persist conversation history. Lessons learned from deploying three different implementations with different persistence strategies.

Read More →

Deterministic vs Black-Box Chatbots: Why Showing the Work Matters

Most chatbots are black boxes. I built a step-by-step agent that shows every query and result — and the difference in trust, debugging, and usefulness was dramatic.

Read More →

Comparing Chatbots: Three Different Architectures

Three chatbot implementations: Kafka + HTTP polling, WebSocket streaming, and WebSocket + SQL. Same Django backend, completely different flows and PostgreSQL usage patterns.

Read More →

Learnings from Claude Code That Apply to Any Chatbot

Design principles extracted from Claude Code's multi-step agent pattern: structured output, guardrails in code, error recovery, and more.

Read More →