Loneliness. It is particularly heartfelt when just starting to work remotely, as many of us do now. You are no longer seeing your office coworkers, you no longer see people in your commute – you are working alone from home.
What it does
Snack connects you with your teammates to have unplanned 1:1 conversations. Just like you would have serendipitous conversations with your teammates when taking a lunch break in the office, we create the conditions for the same conversations to have in a virtual environment with your teammates and people from other teams working remotely.
Anyone can participate. Just install the Slack app and type /snack.
How I built it
I have built it using Node.js and integrated with Slack and Zoom APIs.
Slack responds to a /snack command, we match two people looking to snack, Zoom hosts the video call.
Challenges I ran into
Turns out that building bots is hard! I've written 70k+ lines of code. Most of the complexity comes from "negotiating" people availability to have a snack, i.e. handling scenarios such as broadening snack search outside of Slack team when there is no one available to snack, etc.
Accomplishments that I'm proud of
I am proud of the simple and fun user experience. Anyone can start a conversation with a /snack command. People are rewarded snacks for every conversation they've had.
There are some fun easter-eggs too, e.g.
- After you've had your first conversations, you can type
/snack fridgeto check what snacks you've been rewarded and who did you snack with.
- There is a mouse that comes from time to time and steals a snack from the fridge if you are not active.
What I learned
- Slack API
- Zoom API
What's next for Snack
Grow it into a protocol for starting 1:1 conversations. Type
/snack @person and we will negotiate the time when you are both available to have 15 minute conversation. It is the equivalent of you walking up to someone in the office and asking "come by my table when you are available".