Inspiration
All of us have struggled with online shopping. There are so many similar products, which one should we buy? We often spend hours checking reviews and researching the best product and often still aren't sure if we made the right decision. ShopWise can easily solve this issue by analyzing customer reviews to identify trends and allow you to ask questions.
What it does
Users can enter a product they want to buy, for example, 'frying pan'. Then we get the top 5 products on Amazon, analyze their respective reviews, and summarize the key info for each product. The user can also choose to engage in a conversation with these products. For example, 'Which pan is the most durable?'. If the user has narrowed down their own products and doesn't simply want the top 5, they can also enter the URLs for the chatbot and ask questions comparing them.
How we built it
We used React for the front end to allow for dynamic and responsive rendering. We used Python-Flask for the backend. Once the user enters a product name, we scrape Amazon for the top 5 URLs. Then we scrape each URL using multithreading for all of the reviews and associated info. We then use gpt-4 to analyze the reviews and summarize the pros and cons. For the chatbot, we load the scraped reviews and reference them when answering the user questions, again using gpt-4. Then React calls the corresponding Flask APIs and renders the info.
Challenges we ran into
Back-end wise, we struggled with making React work with Flask as there were many cross-platform (namely CORS) issues that made the API calls difficult. We also struggled with making so many requests for the URLs and accessing the reviews, as it took a long time. We learned how to use Multithreading to speed up requests. Front-end wise, we struggled with rendering the 3D model since there were so many aspects to set up such as camera angle/rotation/lighting.
Accomplishments that we're proud of
We are proud of being able to make multiple aesthetic web pages using React in such a short time frame. In addition, we were able to significantly speed up our requests and make the web app user-friendly.
What we learned
We learned how to effectively make a cross-platform full-stack application and effectively use a wide variety of technologies.
What's next for ShopWise
We plan on improving the technique used to select the top 5 products for a given item. Currently, we are just using Amazon's method of sorting, but we will implement optional filters to give more accurate results.
Log in or sign up for Devpost to join the conversation.