- 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
- 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
- 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.
- Reddit—To get new articles
- Article Data Extraction and Text Mining from Lexper—To get the text body with just the url
- 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.
- 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.
- 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.