Guide

Project Drift: What It Is and the Signs You Have It

Week five. You ask your assistant for a small change to the booking page. It works. It also adds a third way of formatting dates, and the call you made on Monday, that bookings stay free for the first month, has quietly vanished from checkout.

Nothing is broken. Nothing is on fire. The app has just stopped being the one you meant to build.

What drift is

Project drift is the gap between the project you meant to build and the one that exists, widening in steps that each look fine on their own. No single change is the mistake. The trend is.

Search the term and nearly every result treats it as a code problem. A write-up on dev.to describes an agent blurring two workflows because they had similar names. A thread on the Cursor forum proposes watching git history for signals like more files touched per change and slower builds. That is useful if you read diffs. It is also only half of drift.

The other half is drift of intent: decisions, scope and direction. It is the half you can catch without reading a line of code, which is why this post is about it.

How it builds up

Your assistant is good at fitting each new change to whatever it can see. What it cannot see is the conversation where you ruled something out. So a fresh chat re-decides a settled question, reasonably, with the information it has. Scope grows in the middle of a task because adding one more thing is cheap. You approve each step because each step is small.

Meanwhile you become the only place the plan lives. That works for a few days.

Four signs to check for

Answers change between sessions. You ask the same question on Tuesday and Friday and get different design choices, each confidently argued.

Done needs a second pass. The task is ticked, and you keep finding the missing piece by clicking around.

Nobody can say why. Pick any odd choice in the app and ask for the reason. If the answer is a shrug from you and a guess from the AI, the reason was never written down.

The plan describes a different project. Open your notes. Half the items are things you no longer want, or things you built another way.

Drift does not feel like going wrong. It feels like going fast.

What slows it down

Four habits, none of them clever. Write each decision down with its reason, and when you change your mind, mark the old one replaced instead of deleting it. Give every task a line saying what is out of scope. Write how you will check it is done before the work starts, then check it. And every few weeks, ask whether the direction is still right, out loud, with a date in the calendar.

A plain document does this job if you keep it current. Most people stop in the busy week, which is the week drift speeds up. We wrote about the same failure from the tracker side in Project Management for AI Coding.

One way to run it

PAPI is a project manager that works inside your AI chat, and these habits are what it runs on. Every task gets a build handoff with an explicit scope boundary. Decisions keep their reasoning, and your AI checks them before acting. A strategy review every five cycles asks whether the direction is still right. The glossary entry on drift has the short version.

The honest version

Drift never reaches zero, and changing your mind is not drift. A decision you replace on purpose, with a reason, is the opposite of it. If you are still exploring and throwing most of it away, there is nothing yet to drift from.

PAPI does not write code, and it does not review it for duplicated helpers or clashing patterns. That is code drift, and the tools above fit it better. If a bug keeps coming back, start with Why AI Keeps Breaking Your App. Walk one cycle on a demo project, no signup needed.

Your AI starts every session from zero. Your project stays on course.

Free on up to three projects. No card.