Why Your App Looks Great on Screen One and Falls Apart by Screen Three
The demo looks flawless. Then you build the second page, and the third, and slowly everything stops matching. Here's why AI-built apps drift, and the one file that keeps them consistent.
Everyone who builds with AI hits this. The first screen comes out looking sharp. You're impressed. Then you build the next page, and the one after that, and somewhere along the way the whole thing starts to come apart. The spacing is a little different. The buttons don't quite match. A color is slightly off from where it was two screens ago.
Nothing is broken. It just doesn't feel like one product anymore. It feels like a few different apps stitched together.
This is one of the most common problems in vibe coding right now, and it has a name: design drift.
What design drift is
Design drift is what happens when the design decisions in your app stop being consistent from screen to screen. The corner radius on the cards changes. The padding tightens up. A second shade of blue sneaks in. Individually each choice is small. Together they make the app feel unfinished, even when every feature works perfectly.
It's the difference between an app that looks designed and one that looks assembled. And it's almost always the reason a technically-complete build still feels off.
Why it happens
The cause is simple once you see it. Your AI tool has no memory of the design decisions it made earlier.
Every time you prompt it to build a new screen, it starts fresh. It doesn't remember the exact padding it used last time, or the specific hex value, or the border style. So it makes a reasonable choice again — just not the same reasonable choice. Do that across ten screens and the small differences pile up into a visibly inconsistent app.
The AI isn't getting worse as you go. It's just answering each prompt in isolation, with no shared reference tying the screens together.
The fix is a persistent reference
The thing that stops drift is giving the AI a design reference it checks every single time it builds something. That's what a DESIGN.md file is.
A DESIGN.md lives in your project and holds your design decisions in one place — colors, typography, spacing, component styles, all specified exactly. When your AI tool builds a new page, it reads that file first and builds against those rules. Screen ten follows the same spec as screen one, because they're both pointed at the same source of truth.
That single change is what turns a drifting app into a consistent one. The design decisions stop living only in the AI's short-term attention and start living in a file that doesn't forget.
Consistency is most of what "designed" means
Here's the part worth sitting with. A lot of what makes an app look professionally designed is just consistency. Same spacing everywhere. Same button, everywhere. One palette, applied the same way on every screen. It's not flashy, but it's the thing your eye reads as "finished."
Get consistency right and an otherwise simple app looks polished. Miss it and even a clever design looks amateur.
Skills UI skill files come with a DESIGN.md built in, so your AI tool has that persistent reference from the start. Add one to your project and stop rebuilding the same decisions screen after screen.
Download a skill with a DESIGN.md →