Inspiration

Fabulous Future Me started with a simple frustration: finding makeup that works for you shouldn't feel like solving a puzzle with missing pieces.

Beauty shopping can be especially frustrating for people with deeper complexions. Shades look different on different skin tones, product photos don't always tell the whole story, and traditional beauty advice can make experimentation feel like a test with right and wrong answers.

I wanted to create something different: a playful space where curiosity comes before rules.

The idea began with a bigger vision of helping people understand their own coloring, explore makeup, and discover what makes them feel fabulous. But rather than trying to build everything at once, I started with lipstick.

Lipstick is a wonderful place to experiment. One color can change the mood of an entire look. A bold berry can feel sophisticated one day and mischievous the next. And sometimes the shade you never thought you'd wear becomes your favorite.

Fabulous Future Me lets users explore lipstick shades, experiment with virtual try-on, and save their discoveries in a personal Lookbook. It's about enjoying the possibilities without needing someone else to declare which colors you're allowed to wear.

The larger vision includes understanding how skin tone varies across the face and body, but that's a future phase—not a feature of this first build.

At its heart, Fabulous Future Me is about giving people permission to play, experiment, and define beauty for themselves.

Your colors. Your mood. Your rules.

What it does

Fabulous Future Me is a lipstick playground where you can experiment with colors and finishes using your own photograph.

Choose a lipstick shade, select a finish, and try it on virtually using YouCam's makeup technology. The app displays your original photo alongside the rendered result so you can compare them.

And this isn't just a mockup. On November 1, I tested the published app on my Android phone using my own photograph. I chose Velvet Slipper, a holographic lavender shade (#9B78AB), and received a real rendered image from YouCam.

You can also save looks to an in-app collection and turn your favorites into downloadable Look Cards.

There are three card designs:

  • Luxe: An ornate lipstick case featuring our cat logo.
  • Simple: A cleaner, understated lipstick presentation.
  • Kiss Mark: A lipstick kiss impression celebrating your chosen shade.

Each card is generated directly on your device as a 1080 × 1350 PNG. You can customize your collection name and display name, and there's a privacy setting for the cards.

The app also includes a dry-run mode for testing the workflow without requesting a live render.

There's no account to create and no cloud collection to manage. Your saved looks and cards stay on your device.

How we built it

We built Fabulous Future Me with React and TypeScript on Replit, using a small Node.js and Express server to connect securely to YouCam's API.

The browser never receives the API key. It stays on the server as a secret.

The user experience begins with choosing a shade and finish, then selecting a photograph. Before anything is uploaded, a consent popup explains what information will leave the device. The photo is sent only after the user confirms.

Our server constructs a YouCam lip_color request using the selected shade, finish, intensity, and lip shape. It submits the request, polls for completion, and retrieves the rendered image.

We also built a protected image-fetching route with HTTPS-only connections, an approved-host list, redirect limits, timeouts, and a 15 MB size cap.

We don't store uploaded photographs on our server. Saved looks and Look Cards are kept locally on the user's device.

For the shareable cards, we used browser canvas rendering. That allows the app to create downloadable artwork on the phone, including lipstick illustrations that can be recolored to reflect the selected shade.

I wanted the finished experience to feel like a little beauty studio rather than a technical demonstration.

Challenges we ran into

The biggest challenge was getting from a technically successful request to an actual image someone could see.

First, live mode refused to turn on.

The app kept displaying an offline message, even though the server and API connection were available. Eventually, we traced the problem to a dry-run safety setting that needed to be exactly lowercase false.

Once corrected, live rendering worked. We also improved the error message so it explains the actual problem instead of suggesting the service is offline.

Then the render completed, but the image wouldn't appear.

We initially encountered a 502 error. After investigating further, we discovered that YouCam's storage sometimes returned the image with a generic binary/octet-stream content type.

Our security checks were doing their job a little too enthusiastically: they rejected the image because the declared file type wasn't what we expected.

The solution was to inspect the file's opening bytes to recognize valid PNG, JPEG, or WebP images while retaining the existing size limits, host restrictions, and other protections.

Finally, the pretty parts turned out to be engineering problems, too.

Our Look Cards are generated on the phone, not exported from a static design file. The lipstick artwork needed genuine transparency so its color could change dynamically without leaving unwanted backgrounds or visual artifacts.

That meant rebuilding some of our assets and treating the lipstick bullet separately from its decorative case.

The result was worth it: three distinct downloadable card designs that work on Android.

What we learned

I learned that getting an API response is not the same as delivering a working user experience.

A request can succeed while the image fails to load. A server can be healthy while a configuration setting makes the app look offline. And an illustration can look perfect until you try to recolor it programmatically.

We also learned how important it is to make privacy part of the experience rather than an afterthought.

Users should understand when their photograph is being sent to an external service, and they should have a meaningful opportunity to consent before that happens.

Keeping the API key on the server, validating external image responses, and storing personal collections locally were deliberate design decisions.

And perhaps my favorite lesson was that technical functionality and personality don't have to compete.

The virtual try-on is the foundation, but the colors, collection, lipstick cases, and Look Cards make the experience feel personal.

Beauty should be fun. The engineering should make that fun possible.

What's next for Fabulous Future Me

The next major chapter is Skin Mapping.

I want Fabulous Future Me to help people understand their own skin coloring before jumping into product recommendations.

YouCam offers skin analysis capabilities for the face, and exploring those capabilities is our next technical step. We want to develop a guided photo experience that helps users capture consistent images and understand what the available analysis can actually tell them.

I'm also interested in comparing the appearance of the face, neck, inner arm, and outer arm, because those areas aren't necessarily the same color. However, YouCam's skin analysis does not support neck or arm analysis, so that broader comparison remains a future research and design idea, not a current feature.

Other planned additions include live in-app camera capture, connections to real makeup products, shade matching, and information about where to buy a color you love.

Testing also revealed an unexpected design challenge: the sheer number of creative options can be exciting and overwhelming at the same time. I want to simplify the experience so users don't have to understand every technical setting before they can have fun. A future version could use a shorter, more conversational interview that starts with someone's mood or occasion and helps them explore a few possibilities. The goal isn't to remove creative freedom, but to make it easier to get started while keeping more detailed controls available for people who want them.

Those are future possibilities, not features included in this submission.

We're intentionally keeping accounts and cloud synchronization out of the experience. The goal is to preserve a personal, on-device Lookbook rather than require users to create another online identity.

For now, we've started with one small but satisfying experience: choose a lipstick, see it on yourself, save what you love, and make something beautiful with it.

Because Fabulous Future Me isn't about telling you what you should look like.

It's about giving you more ways to discover what you want to look like.

Built With

Share this project:

Updates

Submission history