vibe code is legacy code
somewhere between the third autocomplete and the fourth "ship it, we'll fix it later," a truth crystallized: vibe code is legacy code. it's just legacy code with a shorter incubation period. the old model was write bad code, regret it in two years. the new model is write bad code, regret it in two hours, ship a v2 anyway.
the refactor that never comes
everyone says they'll go back and clean it up. nobody goes back and cleans it up. the prompt worked, the tests are green (there are no tests), and the demo is tomorrow. you don't refactor a demo. you refactor a company, eventually, under duress, usually right after a raise.
"technical debt" implies someone's collecting interest. mostly it just sits there, load-bearing, terrified of being touched.
this isn't a complaint. velocity is the point. the model wrote the crud endpoints, the auth flow, the thing that resizes images — nobody's mourning the artisanal hand-typed version of that code. the honest move is admitting it's legacy on arrival and building your ops around that instead of pretending you'll circle back with "proper architecture" once things calm down. things do not calm down. they just get more product-market fit.
we made a hoodie for the people who ship first and read the diff never. wear it while you push straight to main.