While Mark Zuckerberg builds his own version of Iron Man’s Jarvis this year, I went ahead and built a less ambitious (but no less fun) bot for myself last month.

Meet mbbot - my personal instance of Github’s popular hubot project.

Hubot

Hubot running on a Slack instance

Today I made the repository public so as to share what I learnt on this blog.

My goals for the project were simple:

  1. Do Code Katas: hubot lets me build and deploy Javascript/Coffeescript scripts, interact with public APIs, use OAuth, etc. all in a 1-2 hour timeframe. Perfect for that late-evening hack session.
  2. Have Fun: we use a hubot instance at work, and it’s fun to have your little helper bot. Sometimes he’s sassy, sometimes, he’s useful. He is what we make of him.
  3. Build an NPM package: hubot has a large active community that contributes scripts regularly. I’d like to contribute to that community. Here’s a defunct but useful starting point if you’re interested: hubot-scripts.

My hubot instance is deployed on Heroku and interfaces with my personal Slack instance via the awesome hubot-slack adapter. So far I’ve written a couple of useful scripts (movie recommendations or Google Calendar integration, anybody?)

In future posts I’ll go a bit deeper into understanding Javascript promises and OAuth integration via hubot scripts. Till then, if you have any recommendations or ideas, please add them to the Issues page!