I had a similar insight some years ago. I write my TODOs mixed with text in markdown notes and use a CLI to do nice things like exploration and journaling. It purposefully doesn't have any state besides the notes in itself.
https://github.com/danisztls/journal
Lately I'm rarely using it because most of the things that I really have to do (work) are on my email inbox or containerized in project dirs. And for the later I just run 'rg "TODO:"' in the project dir.