
Conversation State in AI Products: Patterns That Survive
Why stateless LLM calls plus structured turn state beat in-prompt history, and the conversation-state patterns we ship in production AI products.
Production-tested patterns, product stories from Blink AI, Nexia Academy and Wallnetic, and the trade-offs we hit shipping real software. Written by senior engineers, not marketing.

Why stateless LLM calls plus structured turn state beat in-prompt history, and the conversation-state patterns we ship in production AI products.

Why we keep internal admin tools intentionally boring, the patterns that age well, and the temptation to over-engineer them that costs every team.

JSONB, pgvector, full-text search, queues — Postgres covers more of the stack than most teams expect. Where we draw the line and when we reach for a specialized store.

When to migrate an existing bare React Native app to managed Expo, the prerequisites that catch teams off-guard, and the step-by-step playbook we run on real production apps.

How we build cross-tenant analytics and per-tenant reporting on the same data layer — with tenant isolation enforced at query time, not by convention.

Three LMS vendors claimed cmi5 support; only one shipped a working launch flow. Our pre-flight checklist and the exact tests we run before any cmi5 content reaches a customer LMS.

The statement schema, query patterns and indexing decisions behind a production xAPI Learning Record Store — and the ones we wish we had made at the start of Nexia Academy.

How we isolate per-user memory in a multi-tenant AI product so context follows the right person across sessions — without ever leaking across tenants or users.