My trick for this, which has been working extremely well for me over the past few years, is to make very heavy use of GitHub Issues.
Everything I'm working on, no matter how small, starts as an issue.
I post a continuous stream of comments on that issue as I make progress - documenting what I tried, what failed, what I've figured out, what micro-decisions I've made.
Many of my GitHub repos, both public and private, have issues with dozens of comments, all of which are me just talking to myself.
This is the single best solution I've ever found to the "interruption" problem. If I get interrupted, or distracted, I can read through my issue thread later and pick up where I left off.
I wrote a bit more about this approach here: https://simonwillison.net/2022/Nov/26/productivity/
A recent example issue: https://github.com/datasette/datasette-enrichments-gpt/issue...
Everything I'm working on, no matter how small, starts as an issue.
I post a continuous stream of comments on that issue as I make progress - documenting what I tried, what failed, what I've figured out, what micro-decisions I've made.
Many of my GitHub repos, both public and private, have issues with dozens of comments, all of which are me just talking to myself.
This is the single best solution I've ever found to the "interruption" problem. If I get interrupted, or distracted, I can read through my issue thread later and pick up where I left off.
I wrote a bit more about this approach here: https://simonwillison.net/2022/Nov/26/productivity/
A recent example issue: https://github.com/datasette/datasette-enrichments-gpt/issue...