Inspiration
Before our team even thought about coming together for LA Hacks, we had grouped together for a mass lipstick purchase. Many of us discovered while scrolling through the endless shades and hues of lip colors that we had a few problems with what seems like a simple shopping operation.
First of all, if you own as many colors as we do, it can get hard to keep track of what colors you already own. Questions like, "Is this color similar to what I already have?" are hard to answer when you forgot to bring that tube with you while you were shopping at Sephora.
Secondly, if you want an idea of how this color would look on your face, you have to watch makeup reviews of girls with a similar skin tone or Google image "katvond lipstick purple on tan skin." Even then, it can be hard to purchase a new color that you are not sure works with your exact face.
What it does
myLip is a lipstick organizer app that groups your lipsticks into different shades, easy to find and compare what you own versus what you want to buy. It shows you drawers of all of your current lipstick shades, organized by main colors groups (red, pink, orange, etc.). Click into a specific drawer to find the lipsticks you own in that group and related lipstick colors that you do not own yet (which are shown dimmer).
Click on the Magic Mirror on the top drawer to preview this lipstick color on your lips. Once you choose a color to try on, you can take a selfie, and the app will return the photo to you with a tint of color on your lips as if you tried it on in person.
How I built it
We built a Node app using Express.js. that stores the userbase and their drawers of lipstick colors. For the lip detection and coloring, we used Microsoft's Face API to detect Facial Landmarks and colored the lips using the Python PIL library.
Challenges I ran into
It was our first time working with Express.js and Python, so we had a steep learning curve for this project. We had to learn how to create and connect to a Mongoose database from the framework, using Passport.js to provide login authentication. We were unable to integrate the Python script with the web app due to a lack of time.
Accomplishments that I'm proud of
We are very passionate about this app and agree that we would all have a use for it. We learned a lot of foundational skills while also getting our app's first set of functionalities working. We have made a great start to this app and look forward to improving it in the future.
What I learned
Passport, integrating front and back end, how to use an API and connect with it.
What's next for myLip
First, we would integrate the Magic Mirror into the web app directly. We also want to add more lipstick colors into our app, pulling from websites of companies that sell many shades. We could integrate a social media feature would allow people to share what colors they have with their friends or to follow other users that have a similar skin tone. We would also like to track data from users in this network to give shopping recommendations; for example, if you have tan skin, then data from other users with the same skin tone can recommend a lipstick shade that is popular for people within that group. We could also implement a shopping feature that directly links to the company's online store to make it easier for users to shop for a new shade they do not yet have.
Built With
- express.js
- javascript
- microsoft
- node.js
- python

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