technical debt
Technical debt is the future cost of a quick-and-dirty solution you choose now to ship faster — a shortcut you'll have to pay back later by reworking it properly.
Like real debt, it can be a smart trade. Borrowing time to hit a deadline is fine, as long as you remember you borrowed it. The danger is the 'interest': every shortcut you leave in place makes the next change a little slower and a little riskier, and that interest compounds. Ignore it long enough and a one-day feature starts taking a week, because you keep tripping over the messes you left behind.
Not all debt is reckless — sometimes a hack is the right call to learn whether an idea even works. The grown-up move is to name it out loud ("this is temporary"), write it down, and budget time to pay it back before the interest eats you alive.
// TODO: hardcoded for the demo — replace before launch const API_KEY = "test-123"; // <- this is a tiny loan you took
A TODO like this is debt written down where you can find it again.
The metaphor is Ward Cunningham's: debt is fine if you pay it back; the trouble is the interest.