Hi, I'm Vadim Alakhverdov
Software developer writing about JavaScript, web development, and the tools that make us productive.
Recent Posts
Monday 30/03/2026
· 13 min readWhy Most AI Agent Architectures Are Overengineered (And What to Build Instead)
Most AI agent use cases don't need multi-agent frameworks. Learn how to replace overengineered agent architectures with a simple tool-calling loop in TypeScript.
Friday 27/03/2026
· 11 min readHow to Build an AI-Powered Autocomplete for Any Text Input
Build a reusable React component that streams AI autocomplete suggestions as ghost text in any textarea — with debouncing, cancellation, and keyboard shortcuts.
Wednesday 25/03/2026
· 11 min readRun AI Models Directly in the Browser with WebLLM and WebGPU
Build a privacy-first note-taking app that summarizes and tags notes entirely in the browser using WebLLM and WebGPU — no API keys, no server, no data leaving the device.
Monday 23/03/2026
· 11 min readVercel AI SDK vs Mastra vs LangChain.js: Which TypeScript AI Framework Should You Use
Compare Vercel AI SDK, Mastra, and LangChain.js by building the same tool-calling agent in all three — with honest tradeoffs on DX, streaming, and production readiness.
Saturday 21/03/2026
· 11 min readBuild a Human-in-the-Loop AI Agent with Vercel AI SDK
Build a Next.js AI agent that asks for user approval before taking actions — using Vercel AI SDK's tool confirmation flow with streaming UI and approval dialogs.
Wednesday 18/03/2026
· 10 min readStructured Output with Zod: Force Any LLM to Return Typed JSON
Stop parsing messy LLM text with regex. Learn how to use Zod schemas to get reliable, typed JSON from Claude, OpenAI, and Vercel AI SDK — with validation, error recovery, and nested schemas.
Wednesday 18/03/2026
· 12 min readHow to Build an MCP Server in TypeScript from Scratch
Learn how to build a Model Context Protocol (MCP) server in TypeScript that connects a PostgreSQL database to any LLM client — with tools, resources, and Streamable HTTP transport.
Wednesday 04/03/2026
· 14 min readHow to Test AI Features: Unit Testing LLM-Powered Code
Learn practical patterns for testing LLM-powered TypeScript code — mocking AI APIs, snapshot testing non-deterministic outputs, eval frameworks, and assertion strategies with Vitest.
Monday 02/03/2026
· 11 min readBuild a Slack Bot That Answers Questions About Your Codebase
Build an AI Slack bot that indexes your codebase and answers questions like 'where is the auth logic?' — with full TypeScript code using embeddings and Claude.
Friday 27/02/2026
· 12 min readHow to Cache AI Responses Without Breaking Your App
Learn how to cache AI API responses to cut costs and latency — exact match, semantic similarity, and prompt fingerprinting strategies with TypeScript and Redis.
Stay updated
Get notified when I publish new posts. No spam, unsubscribe anytime.