DEVELOPER NEWS STREAM
Direct logs, engine updates, and framework notifications parsed from curated RSS feeds and announcements, updated hourly.

Gabriel AnhaiaTime-Travel Debugging for AI Agents with LangGraph.js Checkpoints
Rewind a run to any step, change one thing, and replay from there. Turning a checkpointer into the only debugger that works on a nondeterministic system.

Gabriel AnhaiaHybrid Search for AI Retrieval in Node: When Keywords Beat Embeddings
Error codes, config keys, SKUs and version strings are where vector search is weakest. Combining BM25 and dense retrieval in Postgres, with the fusion code.

Gabriel AnhaiaYour First AI Feature Will Break on Retries — the TypeScript Fix
The retry you added for flaky HTTP calls does something different to an LLM request: it duplicates work, doubles cost, and hides the real failure.

Gabriel AnhaiaThe AI Agent Permission Model You Need Before Production
Your agent runs as a service account that can do everything. Scoping its authority to the user it acts for, as a TypeScript capability set the tools enforce.

Christiaan MaksMatching 90M+ music tracks across six platforms: ISRCs, fuzzy matching, and what breaks
I run a music metadata API as a solo developer. Under it sits a catalog of 90M+ recordings aggregated...

Gabriel AnhaiaMulti-Turn AI Conversations in TypeScript: What to Keep, What to Drop
The message array grows until something truncates it badly. A typed window with a summary head, tool-pair safety, and a cut that is not arbitrary.

Gabriel AnhaiaRed-Teaming Your Own AI Agent: A TypeScript Test Suite
Attack your agent on purpose, in CI, on every deploy. The seven cases worth automating and why the assertion belongs on the tool call, not the wording.

Gabriel AnhaiaStreaming an AI Agent's Progress to the Browser in TypeScript
A 40-second agent run with no output is indistinguishable from a hang. A typed event stream, an SSE endpoint, and a client that survives a reconnect.

Gabriel AnhaiaMulti-Tenant RAG in TypeScript: Keeping One Customer's AI Out of Another's Data
A missing WHERE clause in a vector query is a data breach. Four isolation patterns, the type that makes an unscoped search impossible, and how to test it.

GrahamduesCN3 MCP servers I actually use daily (and how to set them up)
Not a hype list. These are the three MCP servers I have running right now in Claude Desktop. ...

vet402x402 proves payment. It doesn't prove trust — so we built Vouch
x402 proves payment. It doesn’t prove trust — so we built Vouch Payment answers “who paid?” Trust...

GrahamduesCNHow to build your first MCP server in 10 minutes
I built my first MCP server last week and it was way simpler than I expected. Here is exactly how, no...

Kate JohnsonTrusting an LLM's JSON in production
The layer between 'the model usually returns the right shape' and 'the rest of my system can depend on it' — schemas, validation boundaries, error-aware retries, and routing you own.

Gabriel AnhaiaPrompt-Injection Defense in a TypeScript Agent: 4 Layers That Compose
Book: AI That Ships The series: AI in TypeScript — 5 books, from your first LLM call to agents in...

Gabriel AnhaiaTool Calling in TypeScript: Zod Schema to Working Function in 40 Lines
Book: AI That Acts The series: AI in TypeScript — 5 books, from your first LLM call to agents in...

Gabriel AnhaiaRanking in TypeScript RAG: Why Cosine Similarity Alone Fails
Book: AI That Reads The series: AI in TypeScript — 5 books, from your first LLM call to agents in...