AI in Internal Tools: Practical Guides
What it takes to put language models into a real product: structured output, retrieval, guarding against prompt injection, cost control, and what to do when the model is down.
20 articles

LLM Tool Calling for Internal Assistants: Design Choices
How to give an internal AI assistant tools — reading workspace data with the user's permissions, formatting results for the model, native function calling vs a routing step, limits on how many tools run, and answers that stay inside the data.

Building a Multilingual Chatbot That Handles Romanized Text
Real users mix languages and scripts — Nepali in Devanagari and in Latin letters, Hinglish, English with local words. How to route, retrieve, parse dates and reply in the right script, with lessons from a production assistant.

Stop Your Product Chatbot from Hallucinating Features
A help chatbot that invents buttons, settings and features is worse than no chatbot. How we fixed ours — a feature registry checked against the real UI, retrieval that finds the right page, strict grounding rules, link guards and must-not-include evals.

Caching LLM Responses Safely: What to Cache and What Not
Caching LLM answers saves tokens and latency — and can leak one user's data to another if done carelessly. A safe design: cache only answers that are identical for everyone, key on normalized question plus content version, expire, and lock the cache down.

Intent Routing with Small LLMs: Fast, Cheap and Right
How to route chat messages to the right action or tool with a small, fast language model — a flat strict schema, deterministic argument extraction, rules before the model, a short timeout, and a 51-case evaluation — using measurements from a production assistant.

How to Reduce LLM Token Usage Without Worse Answers
Practical ways to cut LLM token usage — skip the model when rules suffice, send less context, route to smaller models, cache repeated answers, use provider prompt caching and cap output — with measured numbers from a production assistant.

AI Agent Actions with Human Confirmation: A Design Pattern
How to let an AI assistant take real actions — create tasks, request leave, book meetings — safely: propose with structured fields, show an editable confirmation card, execute the confirmed values through existing server code, and report the result.

RAG for Internal Documentation: A Small-Team Guide
How to build retrieval-augmented generation over your internal docs without a big platform — structuring documents for retrieval, hybrid search, small prompts, grounding rules, permissions, and measuring whether answers are right.

Prompt Injection in Internal AI Tools: A Practical Defense
Internal AI assistants read tickets, documents and messages written by other people — which makes prompt injection an internal threat too. How direct and indirect injection work, and the layered defenses that actually limit the damage.

How to Evaluate an LLM Feature with a Golden Set
A practical way to test LLM features before shipping changes — a golden set of real inputs, deterministic checks for what must and must not appear, separate evals for retrieval, routing and answers, and running them on free-tier rate limits.

Generative Engine Optimization (GEO): What Actually Works
How to get cited by AI search — Google AI Overviews, ChatGPT search, Perplexity — based on what the research and the platforms' own documentation say, not guesses. Crawlers, content, structure, and what doesn't work.

A Free AI Gateway: Gemini + Groq Failover That Stays Fast
How to put several free AI providers behind one function — per-use-case model chains, cooldowns on 429s and timeouts, no interactive retries, and the measurements that showed why each rule exists.

Semantic Search for a Knowledge Base with Supabase pgvector
Build semantic search over a help desk knowledge base with Supabase and pgvector — embeddings, an HNSW index, a similarity threshold, hybrid keyword search, and the multi-tenant security mistake to avoid.

Ticket Deflection with a Self-Service Knowledge Base
Ticket deflection means answering a question before it becomes a ticket. How to build a knowledge base people actually find — suggestions while they type, semantic search, articles written from real requests — and how to measure deflection honestly.

Streaming AI Responses in Next.js: Plain Streams vs SSE
How to stream LLM answers from a Next.js Route Handler to the browser — a plain ReadableStream or Server-Sent Events, reading it with fetch, saving before the stream closes, and falling back when the model fails mid-answer.

AI Request Classification with Structured Output
How to classify help desk requests with an LLM using structured JSON output — schema design, validation, confidence thresholds, free-tier limits and the fallback path — so a wrong or missing answer never breaks intake.

Support Ticket Routing: Getting Requests to the Right Team
Every misrouted ticket waits twice. How to route requests to the right team — requester choice, rules, AI suggestions — how to measure routing quality, and what to do when it fails.

AI in IT Service Management: What Changes and What Doesn't
Where AI genuinely helps IT service management today — intake, triage, knowledge, drafting, assistants that act with confirmation — where it doesn't, and how to adopt it without betting your service desk on a model.
How to Track Your Team's AI and API Spend
AI and API costs sprawl across teams and cards until an invoice surprises you. A lightweight way to track spend — an inventory, budgets, a usage ledger, automatic sync where providers allow it, and alerts before renewals and overruns.

The Case for AI That Degrades Gracefully
AI features fail — rate limits, timeouts, outages, wrong answers. Design so the product still works when they do: save first, suggest don't decide, fall back to rules and cached answers, and tell users plainly.