"WOC": I made a tool for goals that are hard to do consistently

Hey everyone.

Abstract

Beeminder is especially good for things that are easy to do consistently when reminded.[1] However, I have ADHD, so for me everything is hard to do consistently even when reminded. I also get dejected easily when something doesn’t bring immediate improvement.

Not to mention that when I have fifty goals, at some point I start really, really hating midnight. Heck, currently I only have Duolingo and I already kinda dislike midnight.

I made a tool that works for me, and I’ve been using it for the past half a year. You can use it too.[2]

I think it will be particularly useful to people who like the “public” aspect of having Beeminder goals.

“How is this tool called?”

It is called “Wind of Change” for some reason or other. This is a long name, so let’s roll with WOC. It’s available at https://windofchange.me/.

“Okay, so what is it?”

It’s a diary, but designed for keeping hundreds of diaries at once.

“I had a diary and it didn’t work, so I doubt a hundred diaries would. Explain yourself.”

Here is an example.

I have recently moved to a new city (Warsaw) and I want to have more social life there. I made a board called “:dancer: Social pipeline” and every prospective social event gets a separate card:

  • Organize a board game evening with friends
  • Go to the cinema with people from a local Discord group
  • Have lunch with a friend
  • Go for a coffee with another friend
  • (…ten more things)

Some are easy to organize, some are more involved (have to choose the board game, have to agree on the date that suits everyone, then order the game from Amazon and wait till it’s delivered, etc). Some of those things might not happen at all. Sometimes I think I want to hang out with somebody, but then realize I don’t. Etc.

If I tried to make a quantifiable goal like “one social thing per week”, it could have worked. However, there are a bunch of failure modes:

  • There’s a Couchsurfing meetup every week, so as long as I keep going there, I don’t have to do anything else.
  • Also — realistically, what would happen is that every Friday I would spend an hour scrolling through the list of “social event ideas” and frantically trying to organize something on the weekend.

With WOC, I take a different approach. Whenever I take any action towards making any of those social events happen, I write it down. That’s the only thing I do.

In the example below, on March 18th I got the idea of go somewhere with Monika. On April 6th we actually went to an art museum. That’s ~20 days between “want” and “happened”.

It’s hard to consistently work on arranging social events, especially because I might have a week when I’m just tired and don’t want to have any social events at all. So the pipeline has a huge latency, about 2-4 weeks. But once the pipeline starts rolling, I have a reliable stream of social events without having to nudge myself to make them happen.

“Right now it looks like a task tracker. I suppose task trackers work sometimes. Keep explaining yourself.”

Funny you should mention a task tracker, because I actually used Jira (an enterprisey project management tool) for my life and it also sorta worked.

The problem with Jira is that it has the ability to mark things as “to do”. So now I’m forcing yourself again to do things that I potentially don’t even want to do. Like, maybe I don’t actually want to have lunch with [whoever], I just don’t know myself well. If I knew myself well, maybe I wouldn’t have this “akrasia” thing in the first place. Ahem.

Let’s look at another example. I want to have a happier life:[3]

We’ll get back to this screenshot in two paragraphs, but for now bear with me.

A beautiful thing about Beeminder is that my graphs can be public, either fully or “progress but not the datapoints”. It’s not even that I get to brag — in reality people are probably not looking. But I still feel differently, more responsible in a way. I can’t just go ahead and cheat.

WOC goes one step further — is the only note-taking / tracking tool I know that can mix public and private datapoints at every level. By default, everything is public, but I can mark any comment, card, or board as private. I still see it but others don’t.

So, I want people to know about my courageous fight with hyperfocus (e.g. when I spend eight hours making a giant list of everything or whatever), but I don’t want people to read about how my neck hurts.[4] So one card is public and the other is private. Private things are in gray, because gray is the color of crime.

I might also have a public card with some comments marked as private. Public: a card where I discover that I can actually have preferences:

Wait! Actually it’s not that sightseeing is shit, it’s just that I personally don’t enjoy sightseeing. Huh.

Private: a comment in that card where I notice that I don’t like having unwashed hair. Because nobody can know that I have ever skipped shower in my life, ever.[5]

As a side-note, for me “noticing things in written form” is also more efficient than making myself do things. If I was using Beeminder for this specific thing, I would have probably created a goal called “Shower daily”; raise your hand if you have a goal like this. However, it turns out that just by noticing that I don’t like having unwashed hair, in about two weeks I stopped skipping showers. Because “Hey, but you know you will suffer later today. You wrote it down even”.

“Okay. Describe in detail how this tool has immense therapeutic potential.”

This tool has average therapeutic potential, but average is the new immense.

For example, I have a card that’s called “Looking at things objectively”. Objectively, I will die. Objectively, I don’t have the fluency of a native English speaker. Objectively, it’s not likely I will be an Elon Musk. Objectively, I like sex. Huh.

In my experience, a fully-private diary incentivizes some form of complaining (“why is my life bad”), and a fully-public Twitter incentivizes having insightful takes. WOC incentivizes writing down things that you want yourself to remember. At least that’s how it works for me. So I write something down and in a month I internalize it. It’s like a giant internalization pipeline.

I have also implemented a CBT-like thing with WOC.[6] “I think something bad will happen? Well, I’ll write it down and later we’ll see whether I’m right”.

It turns out that when I expect bad things, I’m right about half the time. Somehow knowing this actually helps.

Finally, an unexpectedly cool usecase has been a card where I just write “I don’t have to listen to my inner critic” whenever I remember about that card. That’s literally it. Two months later, I don’t have nearly as much of an inner critic as I used to have.

“This post is long.”

I wanted to make it even longer, but reconsidered. If there’s interest, I might write a part two where I describe more usecases I’ve found for this “writing things down” approach. For now let’s wrap it up.

[…]

And done. It’s wrapped up.

P.S.

This is a good example where I think WOC would work better for me than Beeminder.[7] I would make a card named “Do anything at all while watching TV”. The first ten entries would be “shit, forgot again” and “this is hard”, spaced over a month; by the end of the second or third month I would have figured something out; and in another month the card would not be necessary anymore.


  1. [citation needed] ↩︎

  2. You can also use the same technique with Roam or a paper notebook or whatever, but my thing has some properties that, to my knowledge, no other tool has. ↩︎

  3. ↩︎

  4. You, personally you, can know. But nobody else can. ↩︎

  5. This time not even you can know. Sorry. ↩︎

  6. ↩︎

  7. This “for me” is important. Generic-purpose tools work very differently for different people. How you react to stress, how much self-control you have, etc, all play a huge role. ↩︎

10 Likes

This is really cool. Does WOC integrate with Beeminder? That is, could I set up a goal to beemind number of items added to a specific diary, for example?

1 Like

Agreed, very nice! Thanks for the write-up.

Do write a second part if you get the time. I really like posts describing something used over a longer period of time, as opposed to “I’ve been doing this for 3 days and it’s the best thing ever!”.

I don’t know if you heard of it, but your tool seems like a great fit to follow along with a challenge like Hammertime.

2 Likes

Not out of the box, but WOC has a public API. Does Beeminder integrate with arbitrary APIs?

I did Hammertime! A long time ago. Agreed that it would be a great fit.

They have their own API, so someone could hack together a script to connect the two.

Does WOC have RSS feeds for public diaries?

No RSS feed at the moment and tbh I’m not sure if there should be one.

RSS readers usually archive everything forever, which can be counterproductive to the goal of public reflection. Let’s say you want to make something private later. Sure, somebody can always screenshot things, but this has to be done on purpose. RSS just enables automatic archiving at scale.

I am not against opt-in RSS but I just haven’t implemented it yet and I personally wouldn’t use it so it’s not a top priority.

1 Like

Ok, makes since. Reason I was asking is that rss would make it easier to beemind a diary via something like make.com

I’ll try implementing a Beeminder integration, hang on. Doesn’t look too hard.

3 Likes

Alright, I’d say it’s half-done. I’ve never done a “connect to X” button in my life and expected something pretty complicated, but apparently the only thing I have to do is to provide a callback that Beeminder will use to give my app an access token, and then I can call whatever APIs I want. Which is the part that I’ll do a bit later.

If anybody else is looking into adding a Beeminder integration into their apps, the callback code I ended up with looks like this. (And like half of it is boilerplate I have around all API handlers.)

2 Likes

This is really cool, I feel like I have been looking for something like a “digital brain” for a while (if only I had somewhere to write down to find a digital brain).

One question, I see there can be public cards on private boards, and public comments on private cards. Are those discoverable at all? Or are all cards essentially private on a private board?

1 Like

“Private” always overrides “public”. If a board is private, its entire content is private (all cards and comments). Same if a board is public and later becomes private.

So:

  • Public cards on private boards = private;
  • Public comments on private cards = private.

Private content is not discoverable and is never returned from the API (regardless of whether someone knows the card/board ID or not). This is covered both with tests and with type system checks. I also have a ton of private things in WOC myself — the majority of my content is private, I think.

On the topic of “digital brain”, this depends on what exactly you want.

For instance, Roam is a well-made digital brain.[1] But I have discovered that for me, a big factor is not “how easy it is to write something down” but

  1. whether I will actually be bothered,
  2. who sees what I write,[2]
  3. and how big the “chunks” are.

Part of the original motivation for WOC was noticing how much easier it was for me to think in Twitter threads than in blog posts. I start a blog post and I can’t just write “wait, that’s all wrong” in the middle, so I have to keep going with the original thought I had. On Twitter, on the other hand, I add a tweet to a thread → after pressing “send” I realize that I’m actually wrong → I immediately write a follow-up tweet.

This is why WOC intentionally makes you press “send” rather than just give you a single note per diary & letting you type wherever.[3] The idea of being able to comment on your own comments also comes from Twitter.

WOC is not a good digital brain for some/many usecases. It lacks search, for instance. I mean, there’s a quick switcher with Ctrl+K or ⌘K, but no search yet.

On the other hand, for anything resembling therapy work (figuring out my preferences, doing hard/long tasks) this bite-sized posting workflow is a killer feature for me.

I also use WOC as a notebook for getting tasks done if those tasks have many steps and can be paused for a long time. E.g. see Reordering cards / WOC, which is a mini-diary of how I was implementing card reordering. If there’s some useful info there it will take me a longer time to find (because hey, no search), but on the other hand I don’t need to remind myself “hey, write it down” — writing it down is a part of how my actual workflow for getting it done, not an auxiliary thing.


  1. #roamcult ↩︎

  2. WOC also has a feature where you can subscribe to people’s comments & reply to everyone’s comments, but tbh it can be irritating sometimes so I plan to allow disabling it. ↩︎

  3. Unlike my other project, Brick, which is sorta like a Google Doc where every page is a site. ↩︎

I’m really intrigued by this tool’s threading paradigm as a place to just dump thoughts in a low-friction way and plan to try it out! I’d be interested in that part two to see more potential use-cases. Thanks!

1 Like

Is there anything I can type in here that will populate datapoints to a beeminder goal? I like this idea, but already use obsidian to write most of this down, so I need the beeminder sting remember to do this

I’ve started working on a Beeminder integration already. When it’s done, there will be a setting in WOC itself where you’ll be able to choose a goal to sync data to.

3 Likes

Really love the sound of WOC and especially related to all of the use-cases and critiques of the numerous shortcomings that various productivity / project management / goal setting tools have laid bare. I’m also neurodivergent (ADHD) and have been looking for tools that better tackle those needs. Can’t wait to read a part 2! Keep up the excellent work!!

4 Likes