Lunch Club is a way for Fieldwork to keep a track of their bi-weekly studio lunches, It's made up of two parts. A simple website to show reviews of each place to eat and a little slackbot called Manuel who makes adding new places a breeze.
The first part of the Lunch Club is giving us a way to track the places we've been.
When coming up with a way of adding new places each week, i first thought about just using a form on the site that only we could access. But i realised that this would make it much less likely that the site would be kept updated.
I though the easiest way to make sure we reliably add our reviews is to integrate the system into a piece of software we use everyday... Slack. So I created a slackbot using the wonderful BotKit.
[Enter Manuel, stage right.]
I decided to give the Slackbot a personality in the form of Manuel (to make him feel like part of the team instead of just an emotionless robot), so we now have our own version of the misunderstood waiter.
Now instead of using a form, you can have a conversation with Manuel on Slack. Just say: "@manuel Lunch" and he will ask you a few questions about the place.
He then takes the answers and stores them in a simple JSON file that we use instead of a database, since it would take literally years to get to the point where we need one..
After using him for a while i've added a few touches to make it easier to interact with.
Instead of having to say your name you can just say me and he will figure out who is talking, you can say today/tomorrow/be vague about the date and he will figure it out and he understands a few different ways of saying yes/no
The other part of the Lunch Club is showing where we have been. So i made a little express site that just grabs the data straight from the JSON file and serves it up in a nice table.
Both of these processes are running on a droplet on Digital Ocean and using PM2 to keep them running and restart if we get any errors.