Slack Retro Bot

Inspiration

I love the concept of the Agile Retrospective but it can be difficult to get everyone together. I built this bot so I could better collaborate with teams and I love the concept of serverless architecture.

What it does

It steps a group of users through a basic retrospective with voting support via native Slack emoji responses.

How I built it

It has a few components:

A basic kappa build script for deploying and invoking against testing json

A manual boto3 script for provisioning the DynamoDB, API Gateway, Lambdas and all the associated permissions (I would have used CloudFormation but I wanted to learn the internal guts of AWS)

Challenges I ran into

I originally chose SimpleDB as a data source and a synchronous callback system. This worked until things got a bit slower and I started bumping up against the limits of the 3 second cutoff time for Slack responses.

Accomplishments that I'm proud of

I'm proud that I managed to implement a manual infrastructure script as it now feels like I have a much better handle on API Gateway and IAM internals. At the last minute I ripped out SimpleDB and implemented DynamoDB and an SNS pub/sub queue for invoking my lambda!

What I learned

This was one of my first big foreys into the AWS world and I think I'm in love with serverless arch.