A low-bandwidth and easy to use Facebook chat bot that serves Colorado's Department of Transportation (CDOT) alerts for I70 road-closures affecting major ski resorts. You can read about the motivation here.
MrRoadboto's Facebook page is here. These messages go directly to AWS for parsing.
- Vail
- Winter Park
- Arapahoe Basin
- Copper Mountain
- Keystone
- Breckenridge
Mr.Roadboto is designed to be both elastic and ephemeral. He is independently made up of multiple AWS Lambda functions for user interaction and data gathering.
- CDOT only allows me to query their system once every two minutes, perfect for a Lambda function.
- The highly variable demand for chat bot interaction also lends itself well to a Lambda.
- A high performance Redis cache sits between them for rapid data extraction.
Handles user interaction between FB and the backend. This function only contains messaging logic. It uses the Claudia Bot Builder library to handle deployment and interaction with Facebook messenger
Launched by Cloudwatch Events every five minutes. Pulls from CDOT, parses weather information, and puts it in the DB.