The motivation behind Rainy was the well known regret everyone has felt when they go outside and think "I should've worn my jacket!" Everyone has gone through this at some point in their life and it's extremely frustrating. This is why we decided to work on Rainy which tries to solve this problem by informing you on the weather conditions before you decide what to wear.
What it does
Rainy is a cross platform bot developed on Amazon Alexa and Facebook Messenger that gives you suggestions on what to wear based on the state of the weather outside. Rainy takes several things into consideration when providing you with suggestions such as: temperature, precipitation, humidity, and wind. For example, if the temperature outside is -20 degrees Celsius, Rainy will tell you to wear a winter coat.
Rainy Alexa can also tell you if it is okay to wear makeup based on the weather and whether or not you need to worry about getting frizzy hair based on the humidity. Whereas Rainy Bot gives you extra tips on weather and your outside activity.
How I built it
Rainy's back end is developed in expressjs and node.js hosted on Amazon EC2. To hook Rainy backend to RainyAlexa, StdLib Api was used to host node.js function calls to Rainy Alexa. Rainy bot was developed using cloudiajs, and installed on Facebook Messenger platform.
Challenges I ran into
Accomplishments that I'm proud of
The fact that I (Akrama) developed a working Alexa skill that uses another API (The Weather Network API) to come up with results makes me very happy.
I (Eugene) am very happy to be able to build a functional nodejs backend for the first time, let alone building such a interconnected hardware to network system.
What I learned
- How to develop and deploy a custom Alexa skill.
- NODEJS !!!
- Facebook Messenger platform.
- Perform NLP analysis using AWS Lambda to extract core message
- Architecturing a network system.
What's next for Rainy
- Since Rainy Bot was developed on a cross-platform nature, it could be integrated to any platform with ease
- Add a function to let user get weather based on his travel route
- Add support for more requests