After creating my first alexa skill IPL quiz, I got a webinar invitation and information regarding this Hackathon so, I registered for this. The mail challenge was to find a inspiration for my skill. I have read different blogs and watched videos regarding how to make day to day task more interesting and easy with the help of technology.

After few days I came across an article link in which it was written how alexa is changing life of vision impaired people, then an idea strikes in my mind why not build a skill that read blog feeds for them. As I searched more, there was no current skill which does this job in which user speak the blog name and skill read the feeds from it.

So this is a short story behind my inspiration to build this skill. I think this skill will be a life hack for vision impaired people as they can directly listen to the feeds without asking for any help from other person to open the website for them and then start text to speech plugin. It will definitely save time and make them independent.

What it does

So this skill basically fetch the top 5 feeds from the blog/website that have rss/atom links. By default if no domain is specified then .com domain is appended to the name you say.

To invoke say "Alexa, ask website reader to read from New York Times", after listening to the feeds if you want to read from another website say "read from ndtv".

How I built it

I have built it using alexa skill kit using node.js and aws lambda function. I have also used 3rd party node packages for parsing and finding feeds.

Challenges I ran into

After completing my first skill IPL Quiz which is now top 10 sports skill in India under sports category (listed on home page), I will was confident that I will build this one with ease, but the main challenge started when I used 3rd party packages. As there were two packages so two ajax request need to be fired, output of one ajax will be the input of another and output of second one will be the text response. The problem came when instead of waiting for ajax request to complete, the response was sent. As I was not aware of how alexa send response in case of ajax request. So, then I have to find a solution for it, solution was Javascript promise framework.

Another challenge I faced was architecture specific binaries, after compiling and testing my skill on my local server it was time to deploy on AWS lambda function. But as lambda runs on Linux machine and binaries was of windows so that created a problem for me, it took me few hours to find out the root cause of that problem. As I don't have linux machine so to resolve it, I learned how to use aws EC2 instance and then compiled the node.js on that and then copy back to my local machine for deployment on lambda.

So it was great learning experience by developing this skill.

Accomplishments that I'm proud of

I am proud of my skill as I am the first one to build this kind of skill for the people. This skill will not only help vision impaired people but all other audience also to listen to the feeds without opening the blog/website. There are some skills that read rss/atom feeds but they are limited to the blogs as they have hard coded links. You can only listen to those website that developer of that skill has added. My skill is fully dynamic.

What I learned

I learned new technologies by working on them. As specified above I learned to use EC2 and javascript promise framework.

I leaned how to make life of people easy using technology.

What's next for Website Reader

Updates will be there based on user feedback.

Some features that I have planned for v2

  1. Add website to favorite, so you don't have to say website name again. Feeds from favorite will play automatically.
  2. Make categories
  3. Share feeds with friends
  4. Support for Echo show and spot
  5. Option to append other domain instead of .com only

Built With

Share this project: