We prompted GPT-4 with: "Build a production-ready Todo App in Next.js with TypeScript."
The result was technically flawless. It compiled. It ran. It passed the linter. But running it through the Vibe Detector revealed the "Uncanny Valley" of code.
The "Data" Obsession
In a codebase of 20 files, the word data appeared 143 times.
const [data, setData] = useState([]);
const processData = (data) => { ... }
return <DataList data={data} />A human would call this todos, items, or tasks. AI defaults to the most generic, technically correct term: data.
Comment Overload
Every single function had a JSDoc comment. Even the obvious ones.
/**
* Toggles the completion status of a todo item.
* @param {string} id - The ID of the todo item.
*/
const toggleTodo = (id) => { ... }This is "noise." A human developer usually skips comments for self-explanatory function names like toggleTodo. The presence of these comments is a strong signal of AI generation.
The Verdict
The AI codebase scored a 45/100. It works, but it has no soul. It lacks the shortcuts, the specific naming, and the "why" comments that characterize human code.