GiftDex Logo

GiftDex

By: Donald Lee, Ricky Zhao, Rosa Chen, and Henry Zhou

Date: August 6th - 8th 2021

About

GiftDex is a web application created for RoboHacks, an online hackathon from August 6th - 8th 2021 hosted by Major League Hacking. With this project, we were able to win in the prize category "Best Domain Name from Domain.com".

Whether you are finding a gift for a friend, family member, or someone you are meeting for the first time, we often struggle with finding the perfect gift. GiftDex uses machine learning to find the perfect gifts for you, so you don’t have to!

Demo

Inspiration

Every problem of humanity deserves a solution, whether big or small. Even the smallest of fixes make us appreciate the little things in life. During the holidays, we often find ourselves struggling to match our loved ones with the perfect gift. Therefore, we utilized machine learning to predict what our loved ones would want, and used web scraping to automate finding gifts for us, so we don't have to!

What it does

GiftDex gets the information provided by the user to predict the top 3 category the gift recipient would want their gift from based on their age, gender, and interests. GiftDex then automatically searches the web for those specific categories and interests, and ignore items that exceed the user's budget. Once it finds some products, it will display 3 products to the user on the website, and the user can reroll if they don't like the products found.

How we built it

We sent out our survey to multiple groups of people of different age groups so that we can get a diverse data set with accurate predictions.

Using the dataset collected from the survey, we trained a machine learning model to predict the 3 most popular categories of gifts someone would want based on their age and gender. Using those 3 categories, we utilized web scraping to search for items based off those 3 categories predicted. To make the results more accurate, we allowed the users to input any interests that the receiver has, for example, if the receiver really likes anime, we would find products that aligns with the predicted categories and their interests.

After web scraping product information such as prices, names, and links to buy the product, we displayed all that on our Flask site, so that the user can view all the gifts recommended to them.

Used JavaScript to create the reroll function and search animation, and HTML and CSS to develop the website.

Afterwards, we got a domain from domain.com and linked it to our Flask site!

Key Languages and Tools:

Languages:

Modules and Libraries:

Additional tools used:

Challenges

The goal of GiftDex is to find the perfect gift for your special someone. In order to predict what the perfect gift is, we needed to understand what most people would want based on their gender, age, and interests. However, we found it difficult finding datasets with both age, gender, and categories of interest on sites such as kaggle. After spending hours searching for data, we decided that it would be best to collect our own data by creating our own survey. Additionally, this was also our first Machine learning project, so we found it pretty difficult training and testing our model.

Web scraping with python was also one of our biggest hurdles. We had trouble getting an element within an element, and also with scraping from dynamic web pages (Changes every time).

As for the UI design, formatting the website was a challenge we faced. We had to make the page visually appealing while including all the features that we want to present.

What we learned

In addition to machine learning, web scraping, and UI design, we also learned the importance of teamwork and organization. Without the team, it would have been highly difficult to finish this project alone. As we grew comfortable with everyone's strengths and weaknesses, we were able to delegate tasks based on their strengths, and assist them with tasks that they were not comfortable with. However, we also worked on our weaknesses by teaching each other so that our future hackathons would be more efficient.

What's next for GiftDex?

We plan to keep GiftDex online for a year since that is when our free domain expires. We will also begin sharing GiftDex with friends and families, and gather feedback from them, to determine if we should turn GiftDex into a start up. To generate revenue, we can use affiliate links, and maybe run ads on the site.

donaldkevlee@gmail.com
Designed and Coded by Donald Lee