Inspiration
Technology is rapidly developing, playing an ever-increasing role in the lives of people everywhere; what's more is that new products are constantly being added to the market. Through our own experiences as students in Charlottesville, we recognized the various obstacles that can prevent consumers from making confident, well-informed decisions: prevalence of outdated product information on static websites, use of technical terminology without clarification, and sponsored content masquerading as genuine advice. We endeavor to bridge this divide by offering a bias-free, user-centric platform to empower Charlottesville area residents to make informed decisions in their pursuit of the ideal laptop.
What it does
Addressing the UN Sustainable Development Goal #4, providing Quality Education and lifelong learning opportunities, InspectYour Gadget is a web application designed to educate and demystify the process of purchasing a laptop for the residents, schools, and organizations of the Charlottesville area. To accomplish this, our app provides key definitions for common terminology used in the laptop marketplace, as well as a questionnaire that asks users to make key considerations about their desired laptop specifications, then input their preferences in order to receive the top 3 best-match recommendations currently available on the market.
Through this personalized and dynamic approach, InspectYour Gadget is able to communicate real-time product data to users, eliminating the guesswork from the purchasing process and encouraging educated purchases.
How we built it
The functionality of InspectYour Gadget is a 3-step process involving web-scraping, data analysis, and recommendation. In the web-scraping step, we use the BeautifulSoup python library to collect real-time product specification data from the websites of popular stores selling laptops in the Charlottesville area, such as BestBuy. For the data analysis step, our app uses a one hot encoding scheme to transform the categorical data received from the user inputs and web-scraping step into numerical data points that can be compared. In the recommendation step, the data point representing the user’s preferences is compared to those of the online product listings, using a K-nearest neighbors algorithm to determine the top 3 closest matches, which are finally sent and displayed back to the webpage.
To host our product, we made our website using HTML, CSS, JavaScript, and Django, opting for a high-contrast theme with an emphasis on accessibility. For a smooth user experience, all drop-down menus and buttons change color upon hovering and have various other effects to highlight the most important information on the page.
Challenges we ran into
None of our team had backend experience in the past, so there was a steep learning curve as we were beginning our project and learning how to host our website using Django. The bulk of our time has been spent integrating new work done to improve our algorithm and backend with the user-facing website.
Accomplishments that we're proud of
We are proud to have successfully completed a data-driven product with a working backend and a user-friendly frontend design, despite beginning this project with hardly any knowledge of either end. We are particularly proud of our web-scraping and data analysis functionality, coming together in a product that we believe can help many people of all ages and backgrounds in the Charlottesville area.
What we learned
We learned how to work with a wide array of tools and technologies because of this project. When getting data for our model, we learned how to employ various libraries and APIs in web-scraping. Specifically, we used Beautiful Soup, Python, and Regular Expressions to scrape data from Best Buy’s website and vectorize the data. During this project, we also learned how to use Django and the basics of client to web-server communication.
What's next for InspectYour Gadget
In the future, we would like to add more features, such as text size toggling and more visual aids, to further improve the accessibility of our UI. Furthermore, we are currently in the process of improving our analysis and recommendation system for more accuracy, as well as adding support for fetching data for more specifications and from more sources. Another future feature we would like to implement is a “find near me” and map functionality to better direct users to the websites or physical addresses of the recommended products from within our site.
Log in or sign up for Devpost to join the conversation.