How we turned GitHub Issues into a game

2017-06-23

Our list of bugs was growing. Something drastic had to be done. So we built a game.

At Weld we’re building a code-free tool, but we sure are generating a lot of code. And a lot of bugs. Our issue list on GitHub was stacking up something fierce, and something drastic had to be done. Then someone in the team said:

“Let’s build a game!”

We wanted to reward people in the team whenever they were filing bug reports or solving bugs. We also wanted frequent reminders to check the bug list.

So we started looking into GitHub webhooks and how it could feed into another system. And we built a simple database where every action taken on a GitHub issue would be tracked and rewarded with a score. Also, since we are heavy Slack users we wanted to have a daily reminder in the morning on our Slack channel.

One challenge was how to reward different actions. Was solving a bug more important than reporting it in the first place? And if so, how much more important? We ended up with giving 25 points for filing a bug report, and 50 points for closing a bug, with extra multipliers for prio 1 and 2 bugs.

The result is the Bug Hunter Game, a simple web service build in Node.js. It listens to webhooks coming in from GitHub, and it runs a scheduled task every morning, posting a short message to Slack:

If you want to have the same, just fork our project and add your own integrations. I hope it will make bug hunting a joy for everyone!

Check it out:

https://github.com/weld-io/bug-hunter-game