Skip to content

Instantly share code, notes, and snippets.

@johnrellis
Last active August 11, 2018 09:32
Show Gist options
  • Save johnrellis/403f577ed46399fec690e41640a709ac to your computer and use it in GitHub Desktop.
Save johnrellis/403f577ed46399fec690e41640a709ac to your computer and use it in GitHub Desktop.

The Whatever Bot

We need a bot to do... whatever you like. We'd like you to create a very simple bot that has a singular mission. A mission may be ordering a pizza, solving a problem or taking over the world. You should limit this to a 2-3 hour exercise.

To achieve its mission, a bot might:

  • Ask the human many different questions, maybe with multiple choice answers
  • Interact with a web API to help complete its mission (we like this one)
  • Go crazy and use some Natural Language Processing (don't worry if you've never done this or can't fit into the timebox)
  • Get creative and do none of the above

The bot should be constructed to the following spec :

  • Live in a GitHub repo, please name the repo ${yourname}-${mission}-bot e.g. alanturing-enigma-cracking-bot
  • Created in JavaScript as an npm module, bonus points for published and installable
  • Feel free to use any npm modules you feel might fit
  • Code style is up to you! Functional, Object Orientated? Simplicity is the key!
  • Every bot needs instructions, structure a README.md as both a user manual and technical factsheet, make some useful docs!
    • Cover from clone to interaction with the bot.
  • A tested bot is a happy bot, show off any unit, integration or other testing you might be familiar with
    • Since this is time boxed, 100% coverage is not necessary
  • Interaction between human and bot can be through any means you see fit, command line might be a place to start!

To help you focus, we care about these (in order of importance) :

  • Readable and testable code
  • Demonstrate usage and testing of asynchronous code (we love async/await)
  • Show off your testing skills
  • Engineering best practices
  • Useful documentation
  • A published artefact
  • A fun bot with plenty of puns

Don't worry if your bot is really simple, just have some fun.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment