Wordcounter App and Beeminder Writing Goal

Hello everyone!

A few days ago I decided to contact Christian Tietze he is an indie app developer, creator Wordcounter, and The Archive both for macOS and quite awesome.

I contacted him because I think that merging Wordcounter with the accountability capabilities of Beeminder would be a game-changer for a lot of writers out there that have been trying to keep track and setting goals of their research/writing work-flow.

He replied that:
I had no luck in the past convincing habit tracker developers to open up their system and allow 3rd parties (like me) to submit data to them. If you find folks in the community who can figure out how to write a script or whip up an Automator action to fill in beeminder.com form fields for you, I can provide you with instructions about how to get the current day’s data out of WordCounter, for example.

I’m in no way as tech-savvy as people from this forum, my knowledge is super basic, but I wanted to check with the community to see if everyone has any suggestions.

Could there be some available options to setting-up a daily writing goal in Beeminder that is connected to Wordcounter?

Thanks and take care.

3 Likes

Sure thing! There’s an HTTP API which allows you (or the developer) to do exactly this :slight_smile:

For toying around you can use your shell (Terminal.app):

curl -X POST "https://www.beeminder.com/api/v1/users/me/goals/wordcount/datapoints.json"
    -d auth_token=abc123 \
    -d value="$(wc -w writing.txt)"  \
    -d comment=sweat+a+lot+today

This command invokes wc -w which counts the words in the file writing.txt and curl submits this value to the beeminder servers.

Don’t want to use curl directly? There’s an old (but still working) command line app called bmndr.
Don’t want to use shell scripting at all? Good! There’s tons of good reasons not to do shell scripting.
You’re in luck: @narthur recently made a Python wrapper, there’s also a Javascript wrapper from @malcolm and I myself am working on a Scala wrapper with a REPL (that’s a interactive command line interface with tab completion and whatnot). But the latter isn’t ready for public consumption. Yet.

Since you’re on macOS presumably, you want to turn whatever you made into a daemon for launchd so it runs automatically in the background every couple hours or so.
On Linux you’d do the same but with systemd instead of launchd, but since systemd is a direct clone of launchd (little known fact), the process for doing this is almost identical.
On Windows, dunno ¯\_(ツ)_/¯

There’s also a list of Beeminder integrations in the form of a forum post somewhere around here, but you gotta do some digging for this.

Hope this helps!

3 Likes

Hi phi!
Thanks so much for your thorough response and information.
I will look into it and try to figure one of these options out. :sweat_smile:
Let me know when your work will be available.

Cheers

2 Likes