Inspiration

Everyone in software development I know has had creativity blockers from time to time. They can last a few minutes or even hours or days. You are stuck and don't know how to continue. It can be an uncertainty about your architecture or about identifying a source of bugs that is difficult to find.

Then I stumbled upon Oblique Strategies which is a deck of cards for solving creative blockers of musicians created by Brian Eno and Peter Schmidt in 1975 (!).

The cards contain instructions like the following:

  • Use an old idea.
  • State the problem in words as clearly as possible.
  • Only one element of each kind.
  • What would your closest friend do?
  • What to increase? What to reduce?
  • Are there sections? Consider transitions.
  • Try faking it!

So I thought well there has to be something like this but for programmers and indeed various people have written down Oblique Strategies for Programmers over time so I thought I'll collect a few of them and put them into a Facebook Messenger bot (called Unblock).

Basically a personified little helper or coding mentor.

What it does

Whenever you are stuck while coding you can go to Facebook Messenger and 'Unblock' (name of the Facebook Messenger bot) will help you get unstuck by sending you instructions like "When did it last work? what has changed?" or "Take a break; Look at a painting" or "Can you pair program it?".

How I built it

I wrote the backend in ClojureScript (running on Node). The code is hosted on Glitch. You can check out the source code here.

I've also added a JSON REST endpoint that directly returns a recommendation to get unstuck. This is not used right now but could be a starting point for integrations into code editors like Atom, Visual Studio Code, Emacs or Vim.

Challenges I ran into

It takes some time to get a Facebook app approved for Messenger so I used Chatfuel to have something that's immediately publicly accessible and that I can move off of Chatfuel later (I only use Chatfuel's JSON API so it is more or less just proxying.

Accomplishments that I'm proud of

I'm quite happy about the fact that this little helper is now accessible to everyone who uses Facebook Messenger. I already find it useful myself and a few friends of mine started to use Unblock but just thinking about how many developers this could help to save time or even more important become better at their craft gives me goosebumps. Messenger is a great platform to make things like Unblock not only come alive but also to actually reach a lot of people since they don't have to install anything additional nor need they sign up for another service.

What I learned

It is incredibly fast to get something up and running on Facebook Messenger. That said I would prefer not to have to go through Chatfuel to have an app immediately accessible.

What's next for Unblock

I want to get the word out, add more useful hints, reword some of the ones I don't like as much and design better cartoons (ideally fitting the hints).

Built With

Share this project:

Updates