Join our workspace and try it out (currently working on the distribution)
Insight to backend logic
https://www.youtube.com/watch?v=4wPf_tnQ2T4
Inspiration
A productive work space consists of a positive atmosphere--even when objective statements and criticisms are shared, they can be done constructively. Aggressive conversations are also not tolerable. We wanted to improve the atmosphere of the Slack workspace by doing something when negative sentiment is detected.
What it does
It uses AWS Comprehend to analyze the conversation in each channel. When the sentiment value remain Negative, the bot sends cat gifs to the user that made the negative statement in order to remind the user to stay positive and potentially disrupt the flow of negative energy.
How we built it
Slack hook per message → AWS API Gateway → AWS Lambda → AWS Comprehend → AWS Dynamo DB for saving historical sentiment scores → detect negativity in the lambda → slack query giphy cat → slack bot send cat gif to user
Challenges we ran into
- Learning how to build a Slack Application
- Learning AWS Serverless & IAM & DynamoDB & Comprehend
- Determining the batch message size for each sentiment analysis
- Determining the policy for sentiment value aggregation
Accomplishments that we're proud of
It works in our workspace, and it is currently being reviewed for the Slack bot market
What we learned
AWS Serverless & IAM & DynamoDB & Comprehend Slack API
What's next for PositiveKitty
- Bot response can be better tailored with conversation context, such as treating depressive conversations differently from office harassment
- Adapt more messaging habits
- Build extensions for other platforms and user groups (that has different messaging habits)
- Disincentivize users from behaving negatively to get cat pictures
Built With
- amazon
- amazon-cloudwatch
- amazon-comprehend
- amazon-dynamodb
- amazon-lambda
- amazon-web-services
- python
- slack
- thecatapi



Log in or sign up for Devpost to join the conversation.