Inspiration

Any seasoned online shopper knows that one of the best ways to get information about a product is to check the reviews. However, reading through hundreds of reviews can be time-consuming and overwhelming, leading many shoppers to give up on their search for the perfect product. On top of that, many reviews can be emotionally driven, unhelpful, or downright nonsensical, with no truly effective way to filter them out from the aggregated star rating displayed on the product. Wouldn't it be great if a shopper could figure out why the people who liked the product liked it, and why the people who hated the product hated it, without wading through endless irrelevant information?

What it does

Review Recap goes through the reviews of the Amazon product to extract keywords using NLP. The frequency of the keywords and the average rating of the reviews with the keywords are presented to the user in a bar graph in the extension. With Review Recap, shoppers can now make informed buying decisions, with confidence, in just a matter of seconds.

How we built it

When a user is on a valid Amazon product page, the Chrome extension allows a GET request to be sent to our RESTful backend. The backend checks if the product page already exists in a cache. If not, the program scrapes through hundreds of reviews, compiling the data into review bodies and star ratings. This data is then fed into CoHere's Text Summarization natural language processing API, which we trained using a variety of prompts to find keywords in Amazon reviews. We also used CoHere to generate a list of meaningless keywords (such as "good", "great", "disappointing" etc) to filter out unhelpful information. The data is returned and processed in a bar graph using D3.

Challenges we ran into

Django features many ways to build similar RESTful APIs. It was a struggle to find a guide online that had the syntax and logic that suited our purpose best. Furthermore, being stuck with the free tier of many APIs meant that these APIs were the bottleneck of our program. The content security policies for the Chrome extension also made it difficult for us to implement D3 into our program.

Accomplishments that we're proud of

We were able to effectively work as a team, with each of us committing to our own tasks as well as coming together at the end to bring all our work together. We had an ambitious vision, and we were able to see it through.

What we learned

All members of our team learned a new tech stack during this project. Our frontend members learned how to create a web extension using the Chrome API, while our backend members learned how to use Django and Cohere. In addition, we also learned how to connect the frontend and backend together using a RESTful API.

What's next for Review Recap

We have several next goals for Review Recap:

  • Optimize the data-gathering algorithm
  • Add more configuration in the Chrome extension
  • Implement a loading animation while the data is being fetched
Share this project:

Updates