About the Project

Inspiration

I created Luna because choosing what to wear felt like a daily friction that didn't need to exist. Every morning, I found myself staring at my closet, unsure how to combine pieces I already owned—but never felt confident about my outfits. I wanted a tool that could help real people organize their wardrobe and suggest combinations that matched their style and needs without overwhelming them.

I noticed that while there are many fashion apps out there, few focus on the simple core value of helping everyday users make outfit decisions more intuitively. That’s where the idea for Luna came from: a practical assistant for your wardrobe, not a fashion critic.

What I Learned

Working on Luna taught me a lot about building user-first applications that balance intelligence with usability:

  • How to design smooth user interactions for uploading and organizing images of clothes.
  • How to think about outfit suggestions not as perfect formulas, but as context-aware recommendations.
  • How technology choices (like the app router in Next.js and Prisma for the database) affect performance and developer experience.

On a personal level, I learned to iterate quickly: starting with paper sketches and prototypes, then refining based on what felt natural in real use.

How I Built It

Luna is built as a modern web application with:

  • Next.js (App Router) — for fast routing, server-side rendering, and seamless page transitions.
  • Tailwind CSS — for utility-first styling that can adapt quickly as the UI evolves.
  • Prisma + PostgreSQL — to manage user wardrobes and outfit metadata reliably.
  • Image Upload & Processing — users upload photos of clothing which are stored and categorized so Luna can use them in outfit suggestions.

The workflow in Luna is simple by design:

  1. Users upload photos of their clothes and label them.
  2. Luna organizes and stores the wardrobe items.
  3. Based on user context (such as occasion or weather), Luna suggests outfit combinations.
  4. Users can save and reuse favorite outfits.

The focus was always on making each step intuitive and responsive.

Challenges Faced

Building Luna came with several challenges:

  • Image handling and organization: Getting user-uploaded clothing images into a structured format that could later support outfit suggestions was harder than it seemed. I had to design a flexible tagging system so items weren’t bound to rigid categories.

  • Balancing simplicity and power: I wanted Luna to feel effortless, but with enough depth that suggestions felt meaningful. This meant rethinking early designs multiple times based on feedback and usability tests.

  • Tech stack decisions: Choosing Next.js with the App Router improved developer workflow, but required adapting to some of the latest patterns in React and server rendering. Integrating Prisma smoothly with the backend in a way that supported future growth also took careful planning.

Looking Ahead

Luna is a meaningful first step toward making daily routines easier. In the future, I plan to expand personalization and add features like calendar-based outfit planning or weather-aware suggestions.


Built With

Share this project:

Updates