Dev Khatri
Builds evals before features. Thinks the best AI interface is the one you barely notice.
- Role
- AI Lead
- Based
- Singapore
- In the journal
- 24 articles · 2 case studies
Beacon Health: an AI triage assistant that knows when to stop talking
A primary-care network wanted an AI front door without the risk. We designed an AI triage assistant with red-flag escalation, clinician review and offline evals.

Pylon Care: an AI support assistant that knows its limits
Pylon Health's support queue drowned in the same five questions. We shipped an AI assistant with citations, red lines and a kill switch — evals first.
The context window is a product decision
The context window is a product decision: curating what the model sees, showing users what's in scope, and designing honest 'I don't know' moments.
AI form copilots: suggestion, not substitution
AI form copilots work when they suggest, not substitute: per-field confidence, bulk-fill undo, and one rule — the model never commits silently.
Memory is a UX surface: designing what assistants remember
What an assistant remembers is a designed surface: inspectable memory, deliberate forgetting, edit affordances, and the privacy postures that earn retention over time.
Structured outputs: making LLMs renderable
Free-text LLM output is a compatibility bug waiting to ship. JSON schema modes, constrained decoding, boundary validation, and safely rendering streamed partial objects.
Disclosure patterns: telling users when a machine is speaking
AI disclosure that survives legal review and user testing: label placement, export watermarking, model transparency, and wording that informs, not alarms.
Our responsible-AI review, in the open
The full review we run before any AI feature ships: risk taxonomy, red-team scripts, disclosure patterns, data-handling checklists — and how we say no to features.
Onboarding for AI features: sell the p50, not the demo
AI onboarding fails when it promises the demo's best-case output. Design first-run flows around median performance — calibrated examples, honest scope, progressive trust.
Multimodal interfaces: beyond the chat box
When chat is the wrong interface: designing AI products with the right modality — voice, image, structured output, inline suggestions — and how to choose.
Teaching what the AI can do: feature discovery as curriculum
AI features fail when users don't know what to ask. Designing discovery surfaces — prompt starters, worked examples, capability demos — that teach, not decorate.
When to build a voice interface (and when a form wins)
A decision framework for voice UI: where speech beats typing, turn-taking and latency design, barge-in patterns, transcription honesty, and voice privacy.
Chunking is a design decision: RAG retrieval craft
Chunk sizing, structure-aware splitting, metadata, hybrid retrieval and reranking — the retrieval engineering that decides whether your RAG feature answers or shrugs.
Designing AI features users can trust
Trust is an interface property, not a policy page. Citations, confidence, correction affordances and honest capability copy — how we design AI people rely on.
Evals-first development: the build order that actually works
Write the golden set before the prompt, version prompts like code, and gate merges on eval scores. The workflow that makes LLM features shippable.
Latency budgets for LLM features
An LLM feature that answers correctly in eleven seconds is broken. How we set per-surface latency budgets, route models for speed, and kill what can't make the time.
Shipping LLM features: a production checklist
The pre-launch checklist we run before any LLM feature ships: evals, traces, cost ceilings, fallbacks, feedback loops and the metrics that catch quality drift.
Tables on phones: responsive table design that respects the data
A table is a set of relationships, and a 375px screen doesn't change that. Priority columns, honest card transposition, scroll affordances, and what to omit.
Shipping LLM features: what production taught us
The lessons that only arrive after launch: latency budgets in the wild, streaming UX edge cases, cost surprises, fallbacks, and expectations users hold.
Headless commerce: when it's worth it and when it's theatre
Headless earns its complexity only in specific conditions. A decision framework: team requirements, real TCO, and the architecture sweet spots for mid-market brands.
Golden evals: mining support tickets for test sets
Your support inbox is the best LLM eval dataset you'll ever get. How to mine tickets into versioned golden sets that catch regressions before users do.
Evals before features: how we measure LLM quality
How we build evaluation harnesses for LLM features: golden datasets, rubric graders, human review lanes and regression tracking that stakeholders can read.
Data tables for people who live in them
Ops and finance users live inside your tables all day. Density modes, sticky decisions, column management, honest exports and keyboard speed runs.
Prompt libraries are a design system too
Prompts scattered through a codebase rot like untracked CSS. How we build prompt libraries: structure, versioning, test coverage, and a shared vocabulary.
i18n beyond the strings file
The hard 20% of internationalisation: plural rules, dates and currency, RTL layout, locale-aware content modelling, and design tokens that change per language.
Dashboard design: twelve lessons from twelve dashboards
Twelve hard-won dashboard design lessons from a dozen B2B products: hierarchy of attention, progressive disclosure, benchmark context, and when to kill a chart.