My Beeminder browser extension

This is cool! How do you actually collapse/minimize a goal? When I hit f it opens the filter box, so I know it’s working, but I can’t figure out how to minimize a goal…

Edited to add: never mind! I was looking at some red goals and I missed the part where you said you can’t minimize those. I see the ‘collapse’ link for the others now!


Would you be willing to explain how to do that? It is likely I am missing some sort of obvious step because I am a totally non-technical sort of person, sorry! :smiley:


Sure. I was kind of assuming that @kenoubi would know what I was talking about, but yes, it probably needs some explaining before everyone could do it.

In Chrome, you can go to the extensions page, either by entering chrome://extensions in the URL bar, or by going to Settings, then selecting Extensions (in the sidebar on the left), or with “More tools -> Extensions”.

Once you’re on that page, turn on “developer mode” (in the top right corner):

Screenshot from 2020-05-06 14-57-37

You’ll then see in the top-left a button labeled “Load unpacked”.

Screenshot from 2020-05-06 14-44-17

This button allows you to load an extension from a folder on your computer. Of course, you first need to download my extension to a folder.

Here’s a link to the extension as a zip file, or you could clone the repository and build it from source. (Which isn’t hard per se, but is a bit more technical than you might like.)

(For those who do want to build it from source:

  1. Clone the repository:
    git clone
  2. Run npm install
  3. Run npm run build

It’s not that hard, but you do need git and npm.)

In short: the quick and easy way is to download the zip file, extract it somewhere, then select that folder where you’ve extracted it with Chrome’s “load unpacked”.

“Load unpacked” is meant for developers testing not-yet-published extensions, and I mentioned it above to describe what I did in order to test that the extension works in Chrome. You can load it this way too, if you want. But I might as well pack it for you, here [EDIT: This link is now outdated. Use the link above to download the extension as a zip file.] You can download that file, and (after turning developer mode on!), drag and drop it onto the extensions page. That gives what’s effectively the same result as loading it as an unpacked extension, except that you don’t need to unzip the file first.

If someone wants to publish this in the Chrome Web Store, (or the equivalent for another browser), that’s fine by me, but I don’t particularly want the burden of doing it myself. But loading it this way in “developer mode” should be fine.


Thank youuuu! It works perfectly. (Actually, Chrome wouldn’t let me load the packed version, but it did let me just drag and drop the zip in. :unamused: Thank you for nannying me, Chrome…)


Today I entered data in almost all my goals, by just systematically collapsing each goal after I did something toward it if I could (or just got it out of the way if I couldn’t, like my iron tablet goal which has to be every-other-day). I touched almost all my goals, and it was so easy because I could just send them right out of the list if they weren’t relevant or they were done.

This might be revolutionary for me! :heart_eyes: I always tried to do this, but even using a view filtered by tags or sorting by most recently entered data, it still felt overwhelming because the goals I’d done were still in my face.

Thank you again! :smiley:


This is very cool! Glad you finally got around to publish it :slight_smile:
Also: Is anyone interested in porting this to Safari? :sweat_smile:

1 Like

It shouldn’t need much if any porting! It works just fine on Chrome, and there is no reason it shouldn’t work exactly as well on Safari.

You can download the extension as a zip file, or build it yourself from source (instructions on how are in my post above), and then you should be able to load it as an unpacked extension. (This StackOverflow answer seems to describe how to do that.) Or of course you could pack it for Safari yourself, though I’m even less sure of the details of how you’d go about doing that.

@zzq Unless your extension is written in Swift or ObjectiveC I don’t see how this would work :wink:

Oh? I thought (well, assumed) that Safari supported the WebExtensions API, the cross-browser standard for browser extensions.

Maybe that’s not true. Which is a surprise, but I guess that Apple likes doing things differently from the rest of the world. (That’s a good reason to use a different browser. Can I suggest Firefox? This extension would work right off the bat. :slight_smile:)


It seems that Apple has just announced support for WebExtensions in Safari.

It doesn’t seem like it’s quite available just yet, but when it is you should be able to port my extension fairly easily.

(So I wasn’t actually all that wrong about Safari supporting WebExtensions! I was just a few months early :slight_smile:.)


I am shamelessly reviving this thread to announce that I love this extension! Thanks @zzq.


I’m still using it every day myself! It’s been a gamechanger. :slight_smile:


Anyone found it stopped working in the latest chrome? Might be down to my browser being weird.

I don’t usually use Chrome, but I tried installing this extension (in Chrome) to see if there was a problem.

It seemed to work fine, so I’m not quite sure what to tell you, @emeraldnext. Perhaps check in chrome://extensions that the extension is still installed and enabled—Chrome tends to not like extensions that are not installed through the Chrome Web Store, and I wouldn’t put it past them to automatically disable or remove such extensions under the right circumstances.

1 Like

Pardon me, seems to have randomly returned to working today. Appreciate the check.

1 Like

This is your bi-yearly reminder that this extension is great and I love it so much.

I would change from the $8 to the $16 per month subscription if this extension was part of it. It’s just that useful.

1 Like

100% agree. I would love to see the features of this extension be integrated into Beeminder; it’s really levelled up how I use the site. So there’s definitely a voice in the team advocating for this! :grin: I also recommend it for certain use-cases in emails.

It’s worth boosting this thread in the forum every so often, so new folks can discover the tool, so thanks both for letting us know you’re keen and bumping it up! :thumbsup:


Yeah, this is super nice! You are impressive, @zzq! I finally tried it and have a small bug report: after filtering it messes up the sort order. The intended sort order is like so:

  1. Time remaining till derailing (or goal end date, whichever comes first)
  2. Pledge
  3. Goalname alphabetically

(We intend to standardize that ordering everywhere, including the smartphone apps, though we’re not there yet. (PS: I know the parenthetical in #1 seems dumb or that it should be optional but there are complicated reasons it’s important for now – to be revisited after Beeminder has properly open-ended goals.))


This is my bi-yearly reminder that this extension is absolutely fantastic. You should try it. There is a non-zero probability that I would have stopped using Beeminder without it.

The reason why I love it so much is that it allows me to hide goals that are done or irrelevant for the day. Consequently, the open goals stand out more and the UI becomes much cleaner. Collapsing a goal also gives me an additional “checking off effect” boost.


Enthusiastic agreement to all of this. I’m always thrown now when I don’t have this extension (e.g. on my work laptop).