This is a tutorial and a software prototype for kickstarting serverless (AWS Lambda + Chalice + Python) prototyping with chatbots (Telegram/Slack).
Started as a Final Project for CSC2558 at UofT, it expands on the principles described in EduCHi2020 discussion paper.
It is intended mostly for HCI/UX students who work with computational interaction (multiarmed bandits, optimization) or program prototypes and want to decrease time-to-prototype or time-to-user. Some more reasoning behind this approach to prototypes in Motivation.
Maybe some users find motivation more valuable and inspiring than a particular implementation idea I came up with.
The tutorial contains:
- docs, explaining critical parts of the approach, and containing some ideas for technical and design exercises
- Jupyter notebooks for some activities (think about each notebook as a prototype of other parts of the system: creating a database and working with gathered data, analytics)
- code skeleton of a Chalice bot backend with stubs of main functions
- Motivation for the approach
- Short intro to serverless architecture
- Starting up!
- ChatBot
- Bot Goes Bandit
- Exercises, Ideas, Resources, Next Steps
For practicing with prototyping, you will need:
- an AWS account (all of the key services are in AWS FreeTier limits)
- notebook service like Deepnote (has some useful features and integrations, free Edu tier) or Colab to expand stubs for working with data and analytics
- Python environment, VSCode or another editor, git
Please, leave issues and questions here.
The documents and figures are licensed under a Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International License.