Inspiration
Recently I've become interested in learning how to apply makeup! I discovered the hard way that finding makeup tutorials online can be difficult, especially because I'm multiracial.
I first used race-based search terms on YouTube to try and find someone who kind of looks like me, but that really went nowhere. I then tried using general terms like "tan" and "brown", which gave me a lot to sort through... It took me a while to find a makeup YouTuber with a similar skin tone.
This inspired me to think of ways I could search for makeup tutorials that could be more inclusive and didn't need to rely on race-based terms.
Thus the idea of Palette was born.
What it does
Palette is in progress towards being a web app that takes an uploaded image from the user and returns a list of YouTube makeup tutorials with individuals of a nearly matching skin tone.
Step-by-step Use Example
- User uploads a photo of their face to Palette.
- Palette uses face and skin detection to compute the average tone in RGB and HSV values from the photo.
- Palette calculates search terms for YouTube query parameters based on the average tone found, in addition to any other search terms the user wants (i.e. "highlight", "contour", etc.") .
- Palette then returns a list of embedded YouTube makeup tutorials the user can use.
How I built it
01/17/21: Currently Palette uses Python 3, Pip, OpenCV, and YouTube API.
Final Build should have: Python 3, OpenCV, YouTube API, and Node.js
Challenges I ran into
- Learning how to use TensorFlow and Docker, then switching to a Pip virtual environment with OpenCV
- Sorting through faces that did not fit the pre-made model provided by OpenCV
What's next for Palette
Finishing it!


Log in or sign up for Devpost to join the conversation.