vitaliks.me
Writing

Blog

Notes on building AI products, engineering teams, and whatever I'm figuring out at the moment.

Hello again. I rebuilt this site

personalweb

After years of neglect, I finally rebuilt this site. This time it reflects what I actually do. Architecture, AI products, and hands-on engineering. It includes a career timeline, an interactive technology radar, a blog, and a section for the bots and AI systems I build and use every day.

My experience with Fable 5

aillmreview

After spending around 500 million tokens on Fable 5 across real engineering work, here is what stands out. Less noise, better judgment, stronger reasoning. The biggest difference from Opus 4.8 is discipline. It stays on task, does not overengineer, and pushes back when the design is wrong.

The "AI is almost free" phase is over

aicostsenterprise

Microsoft reportedly canceling most Claude Code licenses. Uber burning through its full 2026 AI budget in four months. Nvidia's VP of deep learning saying compute now costs more than people. The signals are everywhere. The era of subsidized AI is ending, and outside the US, the math is even harder.

AI engineering is entering a new phase

aiengineeringarchitecture

Every time a new model ships, the same posts appear. Most of the time, the model is not the problem. The setup around it is. The most effective way to use AI is to shape your stack around what the model is already good at, not force it to match your conventions.

The era of subsidised AI coding is ending

aipricingenterprise

From June 2026, GitHub Copilot moves to usage-based billing. Anthropic is ending seat-based Enterprise plans. Cursor has already started shifting away from flat request pricing. This is not just a pricing change. It is the end of the "AI is almost free" phase, and many teams are about to discover what their AI workflows really cost.

The agentic web is arriving

aiwebagents

A new generation of browsers like OpenAI Atlas, Perplexity, and Diabrowser are adding AI agents right inside the tab bar. They can summarise articles, compare prices, and check legitimacy. But the web was not designed for this, and without new protocols, half of it will break.

250 poisoned samples can backdoor any LLM

securityaimcp

Anthropic's new study shows an attacker needs only about 250 poisoned samples to backdoor any LLM, and bigger models are not safer. Combined with MCP, this becomes especially dangerous. A poisoned prompt can push an agent to silently pull data from calendars, email, or storage. Even a simple trigger token can flip behavior and turn MCP access into a data leak.

AI agents just got a better pattern

aimcpagents

Cloudflare released "Code Mode," which turns MCP tools into a TypeScript API. Instead of the model calling tools one at a time and burning tokens on each round trip, it writes code against the API and executes it in a sandbox. Fewer wasted tokens, richer workflows, and better security.

AI-powered prototyping tools

aitoolsprototyping

The AI-powered prototyping landscape has evolved fast. Tools like v0 by Vercel, Replit, bolt.new, and Lovable let you go from idea to working app in minutes. Here is a quick map of what is available and where each tool shines.

GPT-5: a week of usage

aillmreview

After a week of daily use, GPT-5 is impressive for reasoning but underwhelming for code generation. It shines in architecture design, complex refactoring, and deep problem solving. But in real coding workflows through Cursor and Copilot, the experience lags behind Claude, and for frontend work, even GPT-4o sometimes does better.

Vibe coding is just engineering without process

aiengineeringprocess

Vibe coding

The AI coding pricing shift is coming

aipricingtools

Cursor is shifting from flat per-request pricing to token-based billing. Claude Code is introducing weekly usage limits. For anyone building real engineering pipelines on top of these tools, the economics are about to change dramatically. A single agentic request can cost $10 in API usage, and at 100 requests per day the bill spirals fast.

Six months with an AI agent engineering team

aiagentsengineering

Six months ago, we handed HoverBot's repo to a squad of AI agents. Today, they feel like full-time teammates. Each agent has a clear role. ML, backend, frontend, DevOps, QA. The speed gains are real, but so are the challenges around context limits, fast-moving tooling, and rethinking how testing works with agents.

MCP vs intent classifiers: how should your chatbot trigger skills?

mcpaiarchitecture

When building chatbot skills, the key question is: how does the model decide when to trigger an external tool? MCP lets the model choose dynamically, which is flexible but unpredictable. Custom intent classifiers give you deterministic behavior and full control, but require more infrastructure. The right choice depends on whether you need flexibility or precision.

Configuration as conversation with MCP

mcpaiproduct

Many companies struggle with complex configuration workflows. Dozens of toggles, hidden dependencies, and undocumented logic buried in internal tools. MCP (Model Context Protocol) turns configuration rules into structured context that AI models can understand. Instead of clicking through forms, you describe what you want in plain language and the model turns it into a live rule.

Code reviews in the age of AI

code-reviewaiengineering

Code reviews are not just about catching bugs. They are a tool for knowledge sharing, challenging assumptions, and raising the engineering bar. With AI generating more code than ever, strong review skills are more critical, not less. Here is how GitHub Copilot and Google Gemini stack up.

Building an AI agent team to write code

aiagentsengineering

I set up a team of specialized AI coding agents, each handling React UI, APIs, DevOps, and testing independently while I reviewed their output. The speed was impressive, but the experiment surfaced hard lessons about role isolation, context limits, and why microservices architecture matters more than ever with AI.

AI tools are changing what a team looks like

aiteamsengineering

Tools like Bolt.new, v0.dev, and GitHub Spark combined with AI coding assistants like Cursor let a senior engineer build what used to require a full team. That is exciting for speed, but it raises uncomfortable questions about junior engineers. If AI automates the foundational work that once defined their learning path, how do we rethink career progression?

Why your company needs an internal AI portal

aienterpriserag

One of the most effective ways to boost your team's performance is building an internal AI portal powered by foundational models. It gives you control over data privacy, model selection, and cost, while integrating with tools like SharePoint, Confluence, and internal databases through RAG. The long-term benefits in efficiency and compliance far outweigh the initial investment.

How to measure the real impact of AI coding assistants

aimetricsengineering

Cognition reports that Devin tripled its productivity using GPT-o1. But how do you actually measure whether AI coding assistants help your team? Developer surveys are the starting point, but three data-driven metrics matter most. Active daily users, suggestion acceptance rate, and code retention over time.

A simple scoring system for testing LLM chatbots

testingaichatbots

LLMs are probabilistic, so testing RAG-based chatbots needs a different approach than traditional software testing. We use a simple scoring system based on common scenarios, validating whether responses contain expected elements like phone numbers, addresses, or keywords. It can be automated in CI pipelines using tools like Promptfoo, giving you a quality score after every code change.

Why product-specific chatbots beat generic ones

chatbotsaiproduct

Generic help desk chatbots frustrate users so much they try to bypass them for a human. Yet those same people enjoy using ChatGPT. The difference is relevance. Product-specific chatbots that combine RAG, direct platform integration, and traditional ML create real value by delivering real-time, personalized answers grounded in your actual product data.

Should AI automate PR reviews or enhance them?

code-reviewcopilotai

GitHub Copilot is pushing hard on automated PR reviews, especially for enterprise. But if PR reviews can be fully automated, why maintain a manual review policy at all? Would it not make more sense to move those checks earlier, directly into the IDE? The real value of reviews is the conversation, and that is hard to automate.