Alexa Skill ID: amzn1.ask.skill.159c3adc-d6a6-44d4-9b1a-2dd1790d8a11
Skill Link: https://smile.amazon.com/s/ref=nb_sb_noss?url=search-alias%3Dalexa-skills&field-keywords=Chillflix
This skill has been published and can be downloaded and used in your Echo devices by activating Alexa. The name of the skill is "ChillFlix".
Introduction
Technology is shifting so fast and rapidly that now everyone can afford their own personal AI assistant. So why not have the assistant be smart enough to let us know what shows and movies are available on USA's most popular streaming service NETFLIX.
Introducing SPAWN GUIDE which is a assistant for your streaming service over Alexa. Just ask and get the answer.
Video Demo
How to Use
To get started you just have to say "Alexa Open Spawn Guide". From there it is almost like talking to a real assistant and having conversations to search for show or movie.
You can also ask which genre or give an overview of the show or the movie that you are searching for if it is available in Netflix.
Background Story
My inspiration was based off the tediousness of using my TV remote to type out a show/movie name. Sometimes you might not be knowing the exact spelling of the show you are searching for and the results you are getting might be totally off. Well when you pronounce the name of the show/movie correctly Alexa is smart to pick those names and give you the right results very quickly with the added benefit of not doing a lot of work with spellchecks and the remote.
Technology Stack
- Python (Flask-Ask) - We have used flask ask to create a python WSGI application which very easy to pick up, test and deploy.
- AWS RDS - We have used a Mysql instance which contains the data related to Netflix which is updated on a daily basis and is maintained by a script. We are pulling the data from themoviedb for which we have a API key.
I have got a blog post on how to use flask-ask along with mySQL database here. It also shows how to run the code on your local environment to debug the code.
- AWS Lambda - We used the serverless microservice since its integration with the Alexa Skill kit is very reliable and me personally being a developer need not have to maintain the servers at all.
- Zappa.io - We have used zappa to deploy my WSGI python application onto lambda. It is very easy and have been able to maintain three instances of my application i.e Dev, QA and Production.
I have got another blog post here on how to create and deploy the python WSGI Alexa skill onto AWS lambda.
Challenges
There were a few types of queries that gave my software a lot of trouble:
- Numbers – Alexa will return numbers as strings, e.g. “Spider Man 3”; MOVIEDB gives digits when called, e.g. “Mission Impossible III” or "Spider Man 3" – We made sure these numbers were converted to words before we fed it to the database.
- Some weird characters in the names – these kind of words are misrecognized entirely, making searching impossible ex: "Till det som är vackert" – This part we tried to do as much with the help of code as possible. But I still find some discrepancies.
- Awkward phrasing or punctuation – what can you do with a title like “Tak3n”? - We manually curated these.
Future Considerations
We are planning on doing the following implementation:
- Create a login for the user.
- Have some logic to recommend a movie/show based on users interest.
- Make the application more stable by curating via better ways.
- Make the application connect to Chrome Cast or Fire HD to cast the show to the TV
Comments