How Developers Think
$definetechnical-debt--plain-english
TLDRShortcuts now that you pay interest on later.
Technical debt is a loan from tomorrow.
You ship tonight the hacky way. Tomorrow every change in that neighborhood costs extra time. any, a skipped test, the env var hardcoded "just for the demo" — the product goes on stage. The interest shows up as friction: a five-minute tweak that eats an hour, a change that breaks three "unrelated" things, a file nobody wants to open.
None of that is a new bug. It is yesterday's shortcut showing up as today's tax.
A loan you meant is fine
Borrowing an hour to hit a deadline, win a room, or prove the idea is worth building well is often correct. YAGNI is a loan you should take: you skipped the cathedral. The mistake is forgetting you signed.
Write it down. "We skipped auth on /export." A loan you remember is a plan. A loan you don't is a 2 a.m. outage. Put the note in the code, an issue, or the PR.
Pay a little, often
You do not need a cleanup festival. Refactor the rough edge while you are already in that file. Pay a little whenever you pass through. The giant "fix it all" weekend never lands.
Vibe coding prints working code faster than you can notice the corners. You asked an agent to make it run. It did. Ask it a second question: "What shortcuts are in here, and what bites us after the demo?" Then decide which ones you keep until Monday.
The CLI bun run check is a minimum payment. Red types are debt compounding in public.
What this unlocks
Quick and correct are usually two different checkouts. That is fine. Remember which one you picked. The bill comes either way — as interest, or as an hour you already reserved.