Inspiration:

To enable people with special needs to access their Twitter information using voice commands from any Amazon Alexa enabled device.

What it does:

Amazon Alexa skill comprehends the voice command and then retrieves the relevant Twitter data using the Twitter API. The user must be signed in to both, Amazon and Twitter accounts, which are accessible through the deployed webpage.

Technologies we used:

We used vue.js for the frontend and the backend was designed using node.js & express.js, that was connected to the MYSQL database. auth0 was implemented for the Amazon log-in with Pizzly for the Twitter log-in verification, both available through the webpage. The Amazon Alexa skill was built entirely using Java.

Challenges we ran into:

  • Twitter API retrieves unnecessary information e.g. website addresses in links.
  • Making the application accessible to visually impaired individuals.
  • Some voice generated text is problematic to process by the Amazon Alexa skill.
  • If a user has a numerical entry in their Twitter handle, the application can not differentiate between the two, for example, 'handleone' or 'handle1'.

Accomplishments that we are proud of:

  • Strip the links from the Twitter API so it reduces the incoming stream of unnecessary information.
  • Improved detection of Twitter handles by stripping out all spaces from the received name-query.

What we learned

  • Coordinating the project over multiple time zones.
  • Developing a secure authentication workflow using the auth0 API.
  • Accessing a Twitter account using the Pizzly authentication workflow.

What's next for Twitter Alexa Skill Codechella 2020

  • Improve UX.
  • Integrate solution for visually impaired individuals.
  • Introduce a multi-factor authentication (MFA) workflow to increase the security of the application.
  • Publish the application through a host.
  • Increase the functionality of the Amazon Alexa skill, i.e. retrieve more than one tweet, and cycle through the results to find any mention of the user.
  • Allow posting, retweeting and liking of tweets.
  • Setting a name-handle relation, for example, allowing users to say: "read the last tweet from @user", where the application would retrieve the handle we want.
Share this project:

Updates