We’ve all been there. You open a file you haven’t touched in weeks and think:
“What was I doing here?”
Future-you is just another teammate — and if you don’t leave them context, they’ll waste hours retracing your steps.
My dad, a precision sheet metal mechanic, taught me this early. When reality didn’t match the blueprint, he updated the schematic right on the bench. Not just for the next worker — but so he himself wouldn’t forget what adjustment had to be made. He was leaving breadcrumbs.
Software developers need the same practice.
Too often, our context gets lost in Jira tickets or Slack threads. A vague // TODO
is no better — it doesn’t carry the “why” or the “what’s next.”
Instead, think of breadcrumbs as lightweight, in-place reminders of context:
- A TODO with metadata like
status:started priority:high
. - A short markdown task file in the repo describing what’s blocked.
- A note that links to a design decision or experiment.
These breadcrumbs do three important things:
- Future-you reloads context in minutes, not hours.
- Teammates pick up where you left off without guessing.
- AI tools like Copilot generate better code when they can “see” the trail of decisions.
Here’s a quick example:
❌ Vague breadcrumb:
// TODO: fix this
✅ Helpful breadcrumb:
// TODO: Handle null user when API fails
// status:started priority:high blocked:onAuthRefactor
Now when you or a teammate return, you know exactly what’s going on — and so does Copilot.
Leaving breadcrumbs isn’t overhead. It’s respecting context — for yourself, for your team, and for the tools you’ll use tomorrow.
That’s the idea behind Imdone. It makes leaving and managing these breadcrumbs natural, so context always travels with the code.
What about you? What breadcrumbs do you leave for your future self in code?
Top comments (1)
Another great article about Context Driven Development: Leaving Breadcrumbs for Your AI: The Hansel and Gretel Approach - DEV Community