Last week I open-sourced Nudge, my latest AI experiment.
Nudge lives on your computer and stops you from procrastinating. Give it an activity (eg. “I want to review GitHub PRs for 20 mins”) and Nudge complains when it sees you doing something else.
The Nudge widget and notification
The implementation today is simple. Nudge captures the screen every minute and sends it to GPT-4o-mini together with a stated goal, and asks whether the user is procrastinating. You can read the system prompt here.
I built Nudge for myself because I get easily distracted while I’m on the computer. I often decide to work on one task and 10 minutes later find myself working something else. Nudge has been very helpful against that.
The AI detection can work well but doesn't always. I’ve caught it making very silly mistakes. For example, I once told it I wanted to “reply to emails” and had Nudge complain that I was “drafting an email instead of answering emails”. I’m not sure what it saw as the difference there. [1]
A Nudge fail
The key is to be very specific about the activity you want to do. And, to the extent possible, "think like an LLM". It's not enough to say "I want to work on my History paper." You have to add "I will be reading essays, watching YouTube videos about American history and writing on Google Docs". You need to give AI enough context to understand what is within scope.
I have a few ideas on how to make the system more reliable and easier to get right. The first one, which I already shipped, is to add AI feedback on the stated goals. Here's what it looks like:
I’m on a 3-month journey of building projects in public and trying to launch them. [2] SOo far there’s been too much building and too little launching.
My goal for this past week was to get eyeballs on the project. I don’t think I did a very good job. I’m at 22 stars on GitHub, half of which come from friends of mine. I did a Show HN on Wednesday but that bombed. Then on Thursday I posted Nudge to a couple of subreddits, and got a handful of upvotes.
It occurs to me that I suck at marketing. My go-to-market motion for Fiber consisted entirely of outbound emails and word-of-mouth. So it doesn’t surprise me that I’m still at 22 GitHub stars. It's a muscle I have yet to build. [3]
I started an effort to collect all these Nudge fails in the repo.
My announcement tweet:
If you're reading this, please star the repo. 🙏