At a high-level, this independent study will create a Slack app for Gryph Slack that behaves like Bucket, one of the bots in xkcd’s IRC channel which is capable of storing and retrieving factoids. The Slack app will be interactive and respond to certain commands or prompts given by users. The main goal is to be able to build a dynamic knowledge base and answer questions using that knowledge base (ex. a FAQ engine). Additionally, I want to attempt to implement some the below-listed functionality into the Slack app:
- Casual levels of conversation (jokes, facts, weather information)
- Simple text adventure
- Filter and replace select words to create unusual or funny scenarios
- Answering SQL database queries
- In-text language translation
- Perform REST queries from in-text
- Tracking statistics such as activity
- Leverage machine learning into some features
- I want to explore webhooks and REST APIs to create something meaningful.
- I want to learn and practice effective techniques for user experience design
- I want to learn techniques for parsing user input and be able to identify the best response
- Milestone 1: Creating my own RESTful API.
In doing so, I will be able to gain experience designing endpoints, rehearsing proper documentation practices, and effectively laying the groundwork for how my Slack app will be making requests.
- Milestone 2: Mid-Project reflection.
This document aims to provide an opportunity for self-reflection. Through this reflection, I want to make clear the approaches I've taken, the things I've learned, and the things I still want to achieve.
- Milestone 3: Video Demonstration.
The video demo should showcase the final version of the project, highlighting the experience of a user interacting with the Slack app.