Thinking out loud.
Building in the open.

Notes on AI engineering, distributed systems, and the products I build along the way, alongside guest editions from my coauthor Shamim Bhuiyan.

Research. Field notes.
Questions worth asking.

Explore the books

The journal.

Two deploy traps after a day of parallel agents

Two deploy traps after a day of parallel agents

Five agents worked on one repo for a day. The code was fine. Deploying it was the risky part, and a handoff file kept me safe.

By Timur Isachenko

6 Nov 20264 min read
Engineering practice / AI agents
The cliff in the Crystal Palace garden: a bug that was not the terrain

The cliff in the Crystal Palace garden: a bug that was not the terrain

A grey cliff appeared in my 3D map of Porto. The terrain data looked guilty. It was innocent. The cause was a level pad cut 61.6 metres deep.

By Timur Isachenko

6 Nov 20264 min read
Product engineering / Debugging
Capturing UI inspiration with headless Playwright

Capturing UI inspiration with headless Playwright

How I collect daily UI inspiration from product sites with a headless browser, and the small rules that keep the captures clean.

By Timur Isachenko

6 Nov 20263 min read
Developer workflow / Design
Cleaning 98 GB down to 21 GB, and the backup I chose not to make

Cleaning 98 GB down to 21 GB, and the backup I chose not to make

An audit of my Dev folder removed 77 GB. The more useful part was a plan I did not run.

By Timur Isachenko

6 Nov 20263 min read
Engineering practice / Developer workflow
Moving a small site off WordPress to a Cloudflare Worker

Moving a small site off WordPress to a Cloudflare Worker

A WordPress site became a static site on a Cloudflare Worker, with the same design and a mobile PageSpeed score of 93. What worked and what did not.

By Timur Isachenko

6 Nov 20263 min read
Web performance / Cloudflare
One engine, many cities: what I learned scaling a 3D map

One engine, many cities: what I learned scaling a 3D map

Braga became four city maps on one engine. Notes on forks versus monorepos, performance work, and keeping long agent runs recoverable.

By Timur Isachenko

6 Nov 20264 min read
Product engineering / Three.js
Building Braga in 3D at real scale

Building Braga in 3D at real scale

How I built an interactive map of Braga where every building sits on its real footprint, and the rule that kept it honest.

By Timur Isachenko

6 Nov 20264 min read
Product engineering / Three.js
How the Claude Code team does code review: a short summary

How the Claude Code team does code review: a short summary

A short summary of Anthropic's engineering post on reviewing code at high volume: machines read first, people spend their time where risk is highest.

By Timur Isachenko

5 Nov 20262 min read
AI-assisted development / Code review
From Copilot to Colleague: the book and how I built it

From Copilot to Colleague: the book and how I built it

A ten-chapter book on AI engineering, built from 794 practitioner talks, where every claim points to the exact moment it came from.

By Timur Isachenko

29 Oct 20263 min read
AI engineering / Books
AI engineering starts when answers become delegated work

AI engineering starts when answers become delegated work

Chapter 1 argues the hard problem in AI is no longer better answers. It is trusting a system that comes back with work done.

By Timur Isachenko

29 Oct 20264 min read
AI engineering / Delegation
Five checks to run before you delegate work to an AI

Five checks to run before you delegate work to an AI

Turn the Chapter 1 checklist into a week of small, concrete steps that show whether your AI system is ready to take on delegated work.

By Timur Isachenko

29 Oct 20263 min read
AI engineering / Delegation
Meridian's coding agent worked until the scope grew

Meridian's coding agent worked until the scope grew

A composite fintech case from Chapter 1 shows why erratic agent quality often points to the workplace, not the model.

By Timur Isachenko

29 Oct 20263 min read
AI engineering / Delegation
When code gets cheap, judgment gets expensive

When code gets cheap, judgment gets expensive

Chapter 2 argues that cheap generation does not remove the human contribution. It makes taste, the ability to tell good from convincing, easier to see.

By Timur Isachenko

29 Oct 20263 min read
AI engineering / Taste and judgment
A week-long plan to keep taste in your AI workflow

A week-long plan to keep taste in your AI workflow

Five habits from the Chapter 2 checklist, laid out as steps a team can start this week to protect quality as generation gets cheap.

By Timur Isachenko

29 Oct 20263 min read
AI engineering / Taste and judgment
The Friday app and the Monday rewrite

The Friday app and the Monday rewrite

Corey Gallon's vibe-coding hangover, quoted in Chapter 2, shows when a fast exploratory build has outlived its usefulness.

By Timur Isachenko

29 Oct 20263 min read
AI engineering / Taste and judgment
Blame the workplace before you blame the model

Blame the workplace before you blame the model

When coding agents disappoint, the cause is often a repository nobody made legible. Chapter 3 argues the harness matters before the model does.

By Timur Isachenko

29 Oct 20263 min read
AI engineering / Harness engineering
Five repo changes that make agents useful this week

Five repo changes that make agents useful this week

A practical plan from Chapter 3. Five steps a team can start this week to turn a repository into a place where a coding agent can work.

By Timur Isachenko

29 Oct 20264 min read
AI engineering / Harness engineering
A Tuesday in the slop era

A Tuesday in the slop era

A migration passes every test and still breaks two rules nobody wrote down. A scene from Chapter 3 shows why the agent guessed.

By Timur Isachenko

29 Oct 20263 min read
AI engineering / Harness engineering
A working demo is not a control loop

A working demo is not a control loop

Models look right often enough that teams stop measuring. Chapter 4 argues that evals are the control system that makes delegation safe to trust.

By Timur Isachenko

29 Oct 20264 min read
AI engineering / Evals
Build an eval habit from your own failures

Build an eval habit from your own failures

Five steps from Chapter 4 that a team can take this week to turn real failures into evals, traces, and a habit that keeps improving the system.

By Timur Isachenko

29 Oct 20264 min read
AI engineering / Evals
The patch that looked fine and stalled the backfills

The patch that looked fine and stalled the backfills

A rate-limiting patch compiles, passes tests, and still drifts production. A scene from Chapter 4 shows what a regression case is for.

By Timur Isachenko

29 Oct 20263 min read
AI engineering / Evals
Context is the working set, not the knowledge base

Context is the working set, not the knowledge base

The book argues that AI systems fail when they assemble the wrong working set, not only when the model is weak. Here is the idea in short.

By Timur Isachenko

29 Oct 20263 min read
AI engineering / Context engineering
A week of context checks for your retrieval system

A week of context checks for your retrieval system

Five checks from the Chapter 5 checklist that a team can run in one week to find out whether context assembly or the model is the problem.

By Timur Isachenko

29 Oct 20263 min read
AI engineering / Context engineering
The deduction that cited the wrong source

The deduction that cited the wrong source

A tax assistant at Hargrove ranked a public explainer above a senior attorney's matter note. The fix taught the team what context topology means.

By Timur Isachenko

29 Oct 20263 min read
AI engineering / Context engineering
Agents are stateful workflows with probabilistic nodes

Agents are stateful workflows with probabilistic nodes

Chapter 6 argues that a production agent needs durable state, recovery, and human review points. A chat transcript cannot supply them.

By Timur Isachenko

29 Oct 20263 min read
AI engineering / Agent runtimes
Runtime decisions to settle before you add more agents

Runtime decisions to settle before you add more agents

Five checklist items from Chapter 6 turned into steps a team can take this week, from replay versus snapshots to isolated environments for each worker.

By Timur Isachenko

29 Oct 20263 min read
AI engineering / Agent runtimes
When Meridian's subagents disagreed

When Meridian's subagents disagreed

Meridian asked its agents to investigate, patch, and report, and parallel work turned into fragments. The scene shows why coordination is the missing piece.

By Timur Isachenko

29 Oct 20263 min read
AI engineering / Agent runtimes
Build so that an agent being wrong is survivable

Build so that an agent being wrong is survivable

A model should never enforce its own power. Chapter 7 argues for sandboxes, narrow scopes, and boundaries that hold when the model is wrong.

By Timur Isachenko

29 Oct 20263 min read
AI engineering / Security
Five agent security steps a team can take this week

Five agent security steps a team can take this week

Chapter 7 ends with a short checklist. Here is how a team can turn it into five concrete actions before the next sprint ends.

By Timur Isachenko

29 Oct 20263 min read
AI engineering / Security
The day a client disputes what the assistant filed

The day a client disputes what the assistant filed

A scene from Chapter 7 shows why audit trails matter as much as blocking bad actions, and what a partner can say when asked what happened.

By Timur Isachenko

29 Oct 20263 min read
AI engineering / Security
Voice is a stress test for the whole agent system

Voice is a stress test for the whole agent system

Text chat forgives weak design. Chapter 8 argues that voice removes that mercy and shows whether the loop around the model is sound.

By Timur Isachenko

29 Oct 20263 min read
AI engineering / Voice and realtime
Five voice agent changes a team can try this week

Five voice agent changes a team can try this week

Chapter 8 ends with five practical rules for realtime agents. Here is how to apply each one in a week without rebuilding your stack.

By Timur Isachenko

29 Oct 20263 min read
AI engineering / Voice and realtime
When a caller interrupts, your runtime gets tested

When a caller interrupts, your runtime gets tested

A support-call scene from Chapter 8 shows that interruption handling is about execution semantics, not UX polish, and what to design for.

By Timur Isachenko

29 Oct 20263 min read
AI engineering / Voice and realtime
AI moves the bottleneck from typing to judgment

AI moves the bottleneck from typing to judgment

The biggest gains from AI come from redesigning the organization, not from better tools for individuals. Scarcity moves upward, and work must follow.

By Timur Isachenko

29 Oct 20263 min read
AI engineering / AI-native organization
Five checks to run on your AI-native team this week

Five checks to run on your AI-native team this week

Chapter 9 ends with a practical checklist. Here is how a team can turn each item into a concrete step in one week, starting with the queue.

By Timur Isachenko

29 Oct 20263 min read
AI engineering / AI-native organization
A Monday morning at Meridian, and the coherence problem

A Monday morning at Meridian, and the coherence problem

A staff engineer returns to twelve pull requests and no reckless act. The scene in Chapter 9 shows why output is no longer the scarce thing.

By Timur Isachenko

29 Oct 20263 min read
AI engineering / AI-native organization
What endures in AI engineering is constrained delegation

What endures in AI engineering is constrained delegation

Frameworks, models and interfaces will keep changing. Chapter 10 argues that one pattern for turning machine capability into dependable work will last.

By Timur Isachenko

29 Oct 20263 min read
AI engineering / What endures
A week of work toward constrained delegation

A week of work toward constrained delegation

Chapter 10 closes with five practical steps. Here is how a team can run the diagnostic, set an autonomy dial and name an owner in one week.

By Timur Isachenko

29 Oct 20263 min read
AI engineering / What endures
What remains human is responsibility, not typing

What remains human is responsibility, not typing

Chapter 10 argues the lasting human role in AI work is responsibility. A six-month test shows whether you have actually assigned it.

By Timur Isachenko

29 Oct 20263 min read
AI engineering / What endures
Specifications that outlast the model

Specifications that outlast the model

Models change quickly. A clear description of intended behaviour gives an engineering team something stable to build and review against.

By Timur Isachenko

3 Jul 20263 min read
AI engineering / Specifications / Architecture
Building Zonelyte: from an AI prototype to a tool my team could use

Building Zonelyte: from an AI prototype to a tool my team could use

What building a timezone workspace taught me about AI prototyping, Firebase, early feedback, and the work between a demo and a product.

By Timur Isachenko

2 Mar 20265 min read
Product engineering / AI-assisted development / Firebase
AI progress, and the developers living through it

AI progress, and the developers living through it

A revised personal reflection on AI-assisted development, career uncertainty, engineering judgment, and the distance between capability and dependable work.

By Timur Isachenko

6 Jan 20265 min read
AI engineering / Engineering leadership / Career
Our generative AI book reaches a Russian edition

Our generative AI book reaches a Russian edition

A personal publishing milestone: the Russian edition of our book, copies arriving from Bombora, and the pleasure of sharing the work beyond its original audience.

By Timur Isachenko

28 Nov 20252 min read
Books / Writing / Generative AI
Missing Directus translations? Check the related collection permissions

Missing Directus translations? Check the related collection permissions

A debugging note from my Stack Overflow answer: separate the translation query from the permissions needed to read the related records.

By Timur Isachenko

8 Aug 20253 min read
Directus / APIs / Debugging
Better AI agents show their work

Better AI agents show their work

Why editable intermediate work can make an AI assistant easier to guide, verify, and improve.

By Timur Isachenko

27 Jun 20251 min read
AI agents / Product engineering
MCP and REST APIs, part 3: build an inspectable Python agent

MCP and REST APIs, part 3: build an inspectable Python agent

Use mcp-agent to connect tool discovery, local inference, and a warehouse summary without hiding the application’s responsibilities.

By Shamim Bhuiyan

3 Jun 20252 min read
MCP / AI agents / Python
MCP and REST APIs, part 2: connect a local model to the service

MCP and REST APIs, part 2: connect a local model to the service

Connect Ollama and mcp-cli to the warehouse example, then separate tool discovery from correct execution.

By Shamim Bhuiyan

1 Jun 20252 min read
MCP / Ollama / FastAPI
MCP and REST APIs, part 1: expose warehouse operations as tools

MCP and REST APIs, part 1: expose warehouse operations as tools

Build the service boundary first: FastAPI operations, Redis data, MCP tools, and direct inspection before adding a model.

By Shamim Bhuiyan

31 May 20252 min read
MCP / FastAPI / AI architecture
Local AI content pipelines: build a reviewable draft, then publish

Local AI content pipelines: build a reviewable draft, then publish

Use local models to structure research, drafting, and editing without confusing generated volume with useful technical content.

By Shamim Bhuiyan

14 May 20252 min read
Local LLMs / Content engineering / AI agents
A2A in practice: a travel planner with separate agent services

A2A in practice: a travel planner with separate agent services

Follow a historical weather, search, and local-model example to understand discovery, service boundaries, and task coordination.

By Shamim Bhuiyan

29 Apr 20252 min read
AI agents / A2A / Local LLMs
OpenAI Agents SDK with a local model: make the workflow explicit

OpenAI Agents SDK with a local model: make the workflow explicit

A planner-and-writer example that separates local inference, search tools, orchestration, and tracing.

By Shamim Bhuiyan

21 Mar 20252 min read
AI agents / Local LLMs / Python
MCP with local language models: host, client, server, and tools

MCP with local language models: host, client, server, and tools

Understand where the local model sits in an MCP application and how to test a small tool integration before adding more servers.

By Shamim Bhuiyan

17 Mar 20252 min read
MCP / Local LLMs / AI agents
Minion and Minions: testing collaboration between local and cloud models

Minion and Minions: testing collaboration between local and cloud models

A historical experiment with HazyResearch’s local/cloud model collaboration, and the measurements that make its tradeoffs visible.

By Shamim Bhuiyan

16 Mar 20252 min read
Local LLMs / AI architecture
Project One: Daily Affirmations

Project One: Daily Affirmations

By Timur Isachenko

27 Jan 20253 min read
saas / 25microsaas / Cursor / ChatGPT / AI
Web crawling for local RAG: keep the evidence visible

Web crawling for local RAG: keep the evidence visible

Extend a local retrieval pipeline with Crawl4AI, while retaining source URLs and checking what the crawler actually captured.

By Shamim Bhuiyan

16 Jan 20252 min read
RAG / Crawl4AI / Local LLMs
What local AI meant to my work at the end of 2024

What local AI meant to my work at the end of 2024

A revised year-end note on government-contract projects, local language models, and choosing a useful workflow before choosing a model.

By Timur Isachenko

29 Dec 20243 min read
Local LLMs / AI engineering / Field notes
From a school charity market to a New Year’s Ideas Generator

From a school charity market to a New Year’s Ideas Generator

A paper box of celebration ideas became a small bilingual web app. A project note about preserving the human interaction that made the idea work.

By Timur Isachenko

29 Dec 20243 min read
Side projects / Next.js / Product design
Welcome to My World of Innovation, Leadership, and Cutting-Edge Technology 🚀

Welcome to My World of Innovation, Leadership, and Cutting-Edge Technology 🚀

By Timur Isachenko

2 Dec 20243 min read
Journey / Introduction
Local RAG: from documents to answers you can inspect

Local RAG: from documents to answers you can inspect

Follow the path from source text to retrieved passages and a local answer, with a clear distinction between embeddings and evidence.

By Shamim Bhuiyan

12 Nov 20242 min read
Local LLMs / RAG
Llama 3.2 Vision: understanding the local inference workflow

Llama 3.2 Vision: understanding the local inference workflow

A historical walkthrough of image-and-text inference using a vision model, its processor, and a notebook you can inspect.

By Shamim Bhuiyan

16 Oct 20242 min read
Local LLMs / Computer vision
Installing your first local LLM: a small, useful starting point

Installing your first local LLM: a small, useful starting point

Start with one local model, verify inference, and understand the boundary between your machine, its network, and optional tools.

By Shamim Bhuiyan

8 Oct 20242 min read
Local LLMs / Ollama
Returning to coauthoring: from Apache Ignite to generative AI

Returning to coauthoring: from Apache Ignite to generative AI

Seven years after our Apache Ignite book, Shamim Bhuiyan and I returned to writing together with a hands-on guide to building AI applications.

By Timur Isachenko

10 Sept 20242 min read
Books / Generative AI / Writing
Lightbend Reactive Architecture Learning Path

Lightbend Reactive Architecture Learning Path

By Timur Isachenko

23 Oct 20206 min read
Lightbend / Reactive / Saga / Resilence / Message-Driven / Introduction / Overview / Course / CQRS
Documenting Play Framework with Swagger

Documenting Play Framework with Swagger

By Timur Isachenko

1 Sept 20203 min read
Docs / Introduction / Play Framework / java / Swagger

Showing 64 of 64 articles