• We want to make the world more inclusive.
  • Build something for people with disability
  • We want to help the visually impaired people to save time finding articles they like to listen to, with ease.
  • That means, we wanted to filter the news with some constraints.
    • Based on the technology presented to us, the Rakuten Rapid API, to analyze text.
      • emotions (ex: fake news) objective vs. subjective articles
      • difficulty
      • categories
  • We wanted to implement AI Machine learning by getting the feedback from the people, whether they like the article we presented to them.

What it does

  • Let the user get less depressing articles from the internet
  • User can smoothly operate the application with voice
  • The application can read the article to the user

How we built it

  • We built two applications: a server side and a client side

Server side

  • On the server side, we implemented three APIs. We executed all APIs with Sidekiq, a concurrent execution method that allows us to handle many jobs at the same time in the same process.
    1. Reddit—To get new articles
    2. Article Data Extraction and Text Mining from Lexper—To get the text body with just the url
    3. Text Sentiment Analysis Method API from fyhao—To determine the tone of the article
  • After we get and analyze the article with our algorithm, we package the result as JSON to expose to the client side.

Client side

  • On the client side, we use Vue, a JavaScript framework to handle the voice control, that includes:
    • Text to speech conversion with SpeechSynthesisUtterance from Web Speech API—Read the title of the article and the article’s text body to the user
    • Voice command with SpeechRecognition from Web Speech API—let the user control actions such as “play,” “pause,” and “next.”

Challenges we ran into

  • We were not able to connect with Google Cloud Speech API.
  • Decide on the algorithm to determine the tone of the article with Text Sentiment Analysis Method API.
  • Find the right combinations of APIs to achieve our goal in helping the visually impaired navigate articles on the internet.
  • The usability design of the tool. How to make it easy for someone who can not see well or cannot see at all to use this application.
  • Unable to make API requests with Axios but was successful with unirest.
  • The response time when giving a voice command.

Accomplishments that we’re proud of

  • It works!
  • Using voice as a medium to give commands to the application.
  • Combining multiple APIs in one application and making they work together harmoniously.

What we learned

  • Using ServiceObject for Ruby on Rails
  • Using the Active Jobs framework to run multiple methods in the backends.
  • Building with a backend API application and a frontend javascript framework (Vue), and put them together.
  • We learn how to use Rakuten Rapid API.

What’s next for “Your Project”

  • Implement machine learning to learn the user’s preference for the articles.
Share this project: