Category
Engineering
Developer notes on RAG, embeddings, vector search and the AI SDK stack.
Hybrid retrieval, explained: why semantic search alone fails on real customer questions
Semantic embeddings blur exact strings like SKUs and error codes. Hybrid retrieval fixes that — here's how it works and how we implement it.
4h ago · 4 min read
Rate limiting a chatbot widget without ruining UX
Chatbot widgets get abused — bots, scrapers, malicious keys. Here's how we rate limit without breaking legitimate visitors.
4h ago · 4 min read
Embed a chatbot on Next.js in five minutes
The right way to add a chatbot widget to Next.js without hurting Largest Contentful Paint or hydration.
4h ago · 3 min read
Streaming from OpenRouter in production: what actually works
OpenRouter's chat-completions endpoint, the AI SDK, graceful degradation and the two SDK gotchas that cost a day.
4h ago · 4 min read
pgvector vs Pinecone in 2026: when each wins
A pragmatic comparison of Postgres pgvector against Pinecone for production RAG. Pricing, latency, filtering, hybrid search and what breaks under load.
4h ago · 4 min read