TLDR

Neat CLI countdown clock/agenda timer available now at:

Where Install using Why?
Snap Store snap install agenda-timer Super convenient if you’re using Linux
Crates.io cargo install agenda-timer Should build on any platform that Rust runs on
Source git clone && cargo build Because why not?

(You only need to pick one ;-).)

That was the week that was…

So, for the last three weeks, thanks to Bibi and Trump’s seemingly insatiable thirst for killing, I’ve been stranded in Bangkok waiting on a succession of cancelled flights back to Europe.

Now, don’t get me wrong - there are much worse places to be stranded than Bangkok, one of my absolute favourite cities - but one of the side effects of this was to turn an in-person developer conference into one where just one person was joining online; which was not ideal, given I was also the organiser.

Now actually, we can thank the world of Twitch I guess for making all this far less painful than I expected; thanks to the really good OBS I was able to get a pretty decent setup going to make it ’look like’ a proper developer day. But one thing I couldn’t find was a nice “countdown to next event” timer that I could use to broadcast the time to the next meeting (and also let me know the time I had left to speak.)

I tried a few downloaded from the Ubuntu store, and none of them really worked for me (including one written in Python that must have downloaded half the Internet just to - inevitably, Python being Python - complain about some incompatible dependency or another.

So, given that, in less time than it takes to search for a working tool, my trusty AI sidekick (Qwen3.5-27B running entirely on my own hardware) and I sat down to put something together that met my needs. And since it met mine, maybe it will meet yours:

Introducing: Agenda Timer

It’s written in Rust, so it’s a single binary that does one thing, and doesn’t download the entire Internet to do it.

The one thing it does is show you how long it is until the next event. Either because you gave it a time to count down to (with --time <hh>:<mm>, or because you gave it a file with your entire day’s agenda (with --schedule <filename>):

Europe/Bucharest
09:30 Get online/Tech setup
10:00 Assemble
10:30 Keynote
12:00 Break
12:30 Strategy
14:00 Lunch
15:00 Software Development Lifecycle
16:00 Technical Debt
17:00 The End

The timezone of the meeting can optionally be the first line of the schedule file - great if you’re 5 hours East and converting in your head - or you can use the --tz <timezone parameter to override it.

By default, it will quit after the end of the current timer; but if you pass --continue, it will go through the whole schedule; and finally, if you also add --agenda, it will display the whole day’s agenda and your place in it - looking something like this:



                        Current: Technical Debt (7 of 8)

         █████   █████             ███   ████           ██████     ███
        ██   ██ ██   ██   ██      ████  ██  ██    ██    ██        ████
        ██  ███ ██  ███   ██     ██ ██  ██  ██    ██    █████    ██ ██
        ██ ████ ██ ████         ██  ██   ████               ██  ██  ██
        ████ ██ ████ ██         ███████ ██  ██              ██  ███████
        ███  ██ ███  ██   ██        ██  ██  ██    ██    ██  ██      ██
         █████   █████    ██       ████  ████     ██     ████      ████

                        ...
                        10:00 - Assemble
                        10:30 - Brave New World (recap)
                        11:00 - Planning & Decisions
                        13:00 - Lunch
                        14:00 - Technical Debt
                        16:00 - Close



                        Up next: Close (q/Ctrl-C to quit)

And, well, that’s it! Get it where you get your favourite apps ;-).