jot "put one of the new coversheets on the TPS reports"
tl;dr
I’ve now used my CLI tool jot nearly 1200 times. It’s been a useful low-friction way to remember what I’ve been up to for later reflection.
One-shot jot
I’ve written about jot before: my very simple and opinionated Python command-line tool for jotting down little timestamped notes to myself.
In an open terminal I can just:
And it gets automatically prepended to a text file with the date and time.
Rinse and repeat throughout the day.
A jot of bother
Regular readers know that I make stuff and… move on.
Sike! I’ve actually been using this one a whole bunch.
In fact, I’ve been jotting things down every work day since August 2025 and have banked well over 1000 jottings.
But has it actually been useful?
Forget me jot
I have a leaky brain.
This causes a problem when I try to write weeknotes and timesheets. It also means I struggle to reflect on my achievements, which is pertinent given my upcoming annual appraisal.
So, for these past months, I’ve been taking a couple of seconds to jot down what I’m doing as I’m doing it.
I’ve been writing things in the style of git commit messages: they start with a verb and are short and sweet. For consistency, I’ve been referring to the name of a repository where possible and writing down colleagues’ names. For example: jot "released version 1.0 of the package" and jot "called morag to discuss app development"1.
Typically they’re about what I did, rather than the outcome. I also record little human interactions and feedback, which can otherwise fall through the cracks.
At the most basic level, the simple act of writing things down has helped me recognise the volume and variety of my tasks. Meanwhile, jot’s options like --list and --search (with --from-date and --to-date) have helped me filter down that large volume of information when I want to get more analytical2.
This is not a comprehensive business tool for reminders, to-do lists, minutes and actions. It’s just a brain outside my brain.
Switch to the terminal; write a sentence; go back to work. And now I have 1194 reminders of what I’ve been up to. Little effort to help plug a big gap.
In the PyPIline
I started developing jot to learn ‘how to Python’ and write CLIs. I think that’s a success, but where next?
Well, I’ve formalised its existence by uploading it to the Python Package Index (PyPI) to make it’s more readily available.
You can now find it as jot-cli on PyPI, as of version 0.3.0. Yes, you have to install ‘jot-cli’ rather than ‘jot’, because the name is already taken on PyPI. But the command still remains jot in the terminal3.
uv tool install jot-cliThen, to upgrade:
uv tool upgrade jot-cliThe development version is available from GitHub like:
uv tool install git+https://github.com/matt-dray/jotNote that the GitHub repo is still called ‘jot’ despite it having to be called ‘jot-cli’ on PyPI6.
Thnks fr th Mmrs
Right now it works for me, which is the bottom line.
I know some others have had a go and found it useful too. Thanks in particular to:
- Olivier for submitting code to let the list of jottings to be filtered by date
- my work colleagues (especially Fran who have provided feedback in our ‘sidequests and suport’ sessions.
- Adriana for blue-sky thinking (but mostly for listening to me ramble on about it)
I want functionality to remain simple, so future updates will mostly be about improving the underlying code and user interface rather than adding entirely new features.
I have, however, been developing an option to upload the file to a GitHub gist as backup. But maybe that’s too radical.
That’s yer jot
So, is jot a world-beating bit of software? No, there’s plenty of similar and more powerful tools out there7.
And has the dogfood been delicious? Aye, gourmet, and I’ll continue to chow down.
jot "wrote a blog post about jot's release to PyPI"Environment
Session info
[project]
name = "2026-05-31-dogfood-1000"
version = "0.1.0"
requires-python = ">=3.12"
dependencies = []
Footnotes
Not actual colleagues.↩︎
You could, for example, ask generative AI to pull out topics for you, but I quite like to eyeball it.↩︎
Awkwardly, there’s an inbuilt macOS tool called jot, so you may get a nameclash. Most likely the installed tool will take precedence over the inbuilt one when you type
jot, but you could set an alias to avoid this. I did think about changing the name to something else entirely, but ‘jot’ works well.↩︎Note that it has to be installed as a ‘tool’ because it’s intended for command-line use; it’s not a Python package, per se (though you could use it as one if you wanted).↩︎
For consistency, I may eventually change the name of the repo to ‘jot-cli’ too.↩︎
The most interesting thing I’ve seen recently for note-taking (and much more) is nb.↩︎