~/project/giftdex.md
GiftDex
The perfect gift, found for you
- date
- August 6–8, 2021
- type
- Hackathon
- won
- 🏆 Best Domain Name · RoboHacks
Donald Lee, with Ricky Zhao, Rosa Chen, Henry Zhou

## overview
Built for RoboHacks, an MLH hackathon over August 6–8, 2021, where it won Best Domain Name from Domain.com.
Friend, family member, or someone you just met: finding the right gift is hard. GiftDex uses machine learning to do the guessing for you.
## demo
## inspiration
Inspiration
Every problem deserves a solution, big or small; the small fixes are the ones that make you appreciate the little things. Around the holidays we all struggle to match the people we love with the right gift, so we used machine learning to predict what they'd want and web scraping to go find it.
## what-it-does
What it does
From the recipient's age, gender, and interests, GiftDex predicts the top three gift categories they'd want. It then searches the web within those categories, drops anything over budget, and shows you three products. Don't love them? Reroll.
## how-we-built-it
How we built it
We surveyed people across different age groups to build a diverse, accurate dataset, then trained a model on it to predict the three most popular gift categories for a given age and gender.
We scraped the web for items in those categories. To sharpen the results, users can add the recipient's interests, so an anime fan gets products that match both the predicted category and the interest.
After scraping prices, names, and purchase links, we rendered everything on a Flask site, with JavaScript driving the reroll and the search animation. Then we grabbed a domain from Domain.com and pointed it at the site.
## challenges
Challenges
To predict the perfect gift we needed to understand what people want by gender, age, and interest, and datasets combining all three were nowhere to be found on sites like Kaggle. After hours of searching we built our own survey instead. It was also our first ML project, so training and testing the model was its own learning curve.
Web scraping in Python was another hurdle: getting an element within an element, and scraping pages that change on every load. And on the design side, making the page look good while fitting in every feature we wanted took real work.
## what-we-learned
What we learned
Beyond ML, scraping, and UI design, we learned how much teamwork and organization matter. Once we knew each other's strengths we could split work accordingly, and we taught each other through our weak spots so the next hackathon would go smoother.
## next-project
Shark Cult
Tame sharks for points
read the write-up