Inspiration

Online fashion shopping still asks people to make a difficult prediction: “What will this look like on me?”

Product photos can show us the clothing, but they do not show the complete answer. Shoppers have to imagine fit, color combinations, proportions, accessories, and whether an entire outfit works together. Even when a virtual try-on feature exists, the experience often stops at visualization. It shows an item, but it does not help the shopper decide what to buy next.

We wanted to build something more useful: an AI shopping companion that can understand what a person is actually trying to accomplish, create a complete look, visualize it on the shopper, adapt to feedback, and turn the final result into an actionable shopping journey.

That idea became MirrorCart.

MirrorCart combines AI personalization, virtual try-on, and agentic commerce into one mobile experience. Instead of asking the user to browse hundreds of products, MirrorCart lets them start with a natural-language goal such as:

“I need a date-night outfit under $200 that feels elegant but not too formal.”

The AI turns that goal into a structured shopping mission. It considers occasion, aesthetic, budget, existing wardrobe pieces, preferred colors, and other constraints. It searches for products, assembles complete looks, uses Perfect Corp's virtual try-on technology to visualize those looks, and then lets the user refine them conversationally.

The most important inspiration was the idea that AI should not simply recommend a product — it should help complete the entire decision loop.

We wanted to move from:

Search → Browse → Imagine → Buy

to:

Tell MirrorCart what you need → Let the agent build it → See it on you → Refine it → Shop it

That is the experience we wanted to prototype.

What it does

MirrorCart is a mobile AI stylist and shopping agent designed around three tightly connected capabilities: personalization, AR/virtual try-on, and agentic commerce.

1. AI understands the shopping mission

The user can describe an outfit request naturally instead of filling out a traditional ecommerce filter form.

Examples:

“Wedding guest look under $250.”

“Make me a casual weekend outfit using my white sneakers.”

“I want something minimal, black and cream, for a dinner date.”

The agent extracts the important constraints:

  • occasion
  • style
  • budget
  • colors
  • categories
  • preferences
  • wardrobe constraints
  • shopping intent

The system then uses those constraints as part of the recommendation and ranking process.

2. MirrorCart builds complete looks

Instead of returning a flat product list, MirrorCart composes outfits.

A look can include:

  • top or dress
  • bottoms
  • shoes
  • bag
  • accessories
  • outerwear

The agent evaluates the combination rather than treating each product independently.

For example:

Look A — Minimal Chic — $168

Look B — Modern Romantic — $187

Look C — Statement Evening — $194

The user can compare complete looks and understand the total cost.

3. AI-powered virtual try-on

The AR/visual experience is the centerpiece of MirrorCart.

The user can capture or upload a photo, then select a look to visualize.

MirrorCart uses Perfect Corp's AI fashion visualization / virtual try-on capabilities to generate a representation of the selected clothing on the user's image. Perfect's Fashion APIs support virtual try-on workflows across apparel and additional fashion categories such as footwear, bags, scarves, and hats.

The interface is designed around an immersive mobile camera experience, including:

  • camera/photo capture
  • framing guidance
  • loading and processing states
  • try-on results
  • before/after comparison
  • product switching
  • outfit layering
  • color alternatives
  • save/share actions
  • retry and error states

The goal is not simply to produce a cool image. The try-on result becomes part of the shopping decision process.

4. Conversational outfit refinement

The user can tell the agent what to change.

For example:

“Make it cheaper.”

“I don't like black.”

“Swap the heels for sneakers.”

“Add something red.”

“Keep the dress but change everything else.”

The agent then searches for replacements that maintain the original intent while respecting the new constraint.

This creates an iterative loop:

Generate → Visualize → React → Revise → Visualize again

5. Agentic shopping

MirrorCart is designed as a tool-using shopping agent rather than a chatbot that only generates text.

The agent can orchestrate functions such as:

  • product search
  • product retrieval
  • product filtering
  • product ranking
  • look composition
  • budget calculation
  • virtual try-on generation
  • item replacement
  • look comparison
  • wishlist actions
  • cart creation
  • retailer handoff

This means the AI can move from a vague user request toward a concrete shopping outcome.

6. Personalization

MirrorCart is designed to become more useful as it learns the user's preferences.

The personalization layer can incorporate signals such as:

  • preferred colors
  • favorite brands
  • categories frequently viewed
  • saved looks
  • wardrobe items
  • previous shopping missions
  • budget behavior
  • occasion preferences
  • explicit likes/dislikes
  • interactions with recommendations
  • try-on feedback

The long-term vision is for MirrorCart to understand not just “what product is popular,” but what product is likely to be right for this particular person in this particular context.

7. Ecommerce and cart flow

After a look is finalized, MirrorCart transforms the recommendation into an actionable commerce experience.

The app can show:

  • individual products
  • prices
  • variants
  • total outfit cost
  • alternatives
  • retailer information
  • availability data where available
  • shopping links
  • cart state
  • final review

The user remains in control of the actual purchase decision.

The agent can prepare the shopping journey, but the human makes the final purchase approval.

How we built it

MirrorCart was designed as a mobile-first architecture using React Native so the core experience can be delivered consistently across iOS and Android.

The product architecture separates the user experience, AI orchestration, commerce logic, and visual AI services.

Mobile frontend

The React Native app handles the user-facing experience:

  • onboarding
  • style preferences
  • home/dashboard
  • AI stylist conversation
  • camera/photo capture
  • AR/try-on experience
  • look comparison
  • product detail
  • wishlist
  • cart
  • checkout handoff
  • profile and settings

We designed the UI around a premium fashion-editorial aesthetic with large imagery, clear hierarchy, minimal controls over the camera experience, and reusable mobile components.

AI agent layer

The agent layer converts natural-language requests into structured shopping tasks.

A typical flow looks like:

User Request
     ↓
Intent Extraction
     ↓
Constraint Construction
     ↓
Product Search
     ↓
Candidate Filtering
     ↓
Product Ranking
     ↓
Look Composition
     ↓
Virtual Try-On
     ↓
User Feedback
     ↓
Agent Revision
     ↓
Final Look
     ↓
Cart / Retailer Handoff

The important architectural decision was to give the agent tools rather than letting it generate everything as free-form text.

A simplified tool model looks like:

searchProducts()
getProductDetails()
buildLook()
calculateBudget()
tryOnLook()
replaceItem()
compareLooks()
createCart()
prepareCheckout()

This makes the agent more deterministic, testable, and extensible.

Perfect Corp integration

Perfect Corp provides the visual AI layer that makes MirrorCart's virtual try-on experience possible.

The mobile application does not directly expose provider credentials. Instead, provider-specific calls are handled through a server-side integration layer.

The general workflow is:

React Native App
      ↓
Upload / Prepare Image
      ↓
MirrorCart Backend
      ↓
Perfect Corp API
      ↓
Virtual Try-On Job
      ↓
Result Polling / Retrieval
      ↓
Normalized MirrorCart Result
      ↓
React Native AR Experience

This keeps provider credentials out of the mobile bundle and gives us a clean abstraction for handling:

  • authentication
  • uploads
  • job creation
  • asynchronous processing
  • polling
  • retries
  • failures
  • result URLs
  • caching
  • provider-specific response formats

It also gives MirrorCart the flexibility to evolve its visual AI layer without tightly coupling the React Native application to one raw API response format.

Backend and application services

We designed the backend around application-owned entities rather than mock-only frontend state.

Core concepts include:

User
Profile
StylePreference
WardrobeItem
Product
ProductVariant
Look
LookItem
TryOnJob
TryOnResult
ShoppingMission
AgentSession
Cart
CartItem
Wishlist
Recommendation
AnalyticsEvent

The backend becomes the source of truth for business state while the mobile app becomes the experience layer.

Personalization engine

The personalization architecture combines explicit and behavioral signals.

Explicit signals include:

  • stated preferences
  • favorite colors
  • budget
  • style categories
  • occasion

Behavioral signals include:

  • products viewed
  • products saved
  • looks accepted
  • looks rejected
  • item swaps
  • try-on interactions
  • shopping-session outcomes

This creates a feedback loop where the system can continuously improve relevance.

Reducing mock data

A major engineering goal was to move MirrorCart away from static demo data.

Instead of hard-coded product arrays scattered throughout the frontend, the architecture uses:

  • API-driven product retrieval
  • normalized response models
  • caching
  • loading states
  • empty states
  • retry states
  • server-backed session state
  • explicit demo fixtures only when required

This makes the prototype closer to a real product and significantly easier to extend after the hackathon.

Commerce architecture

The commerce layer was intentionally designed with human approval at the end.

The agent can:

  1. discover products
  2. compare products
  3. assemble a look
  4. revise the look
  5. calculate totals
  6. create a draft cart
  7. prepare the checkout handoff

The user then reviews and approves the final purchase.

This gives us the benefits of agentic shopping without hiding a financial action behind autonomous AI behavior.

Challenges we ran into

1. Making AR useful rather than decorative

The biggest challenge was avoiding the common virtual-try-on pattern where the AI image becomes a novelty feature.

We wanted the visual result to directly affect the shopping experience.

That meant connecting the try-on system to:

  • product selection
  • outfit composition
  • conversational changes
  • product replacement
  • recommendation ranking
  • final purchase intent

The AR experience had to answer a real question:

“Does this help me decide what to buy?”

2. Asynchronous AI workflows

Virtual try-on is not necessarily an instant synchronous API call.

The application therefore has to manage:

idle
→ preparing
→ uploading
→ queued
→ processing
→ completed
→ failed
→ retrying

Getting those states right on a mobile device is critical to making the experience feel reliable.

We had to think about retries, cancellation, stale jobs, duplicate requests, timeouts, loading states, and preserving the user's shopping session while the visual AI job was processing.

3. Balancing AI creativity with commerce constraints

Generative AI wants to be creative.

Ecommerce systems need to be accurate.

A recommendation can sound fantastic and still be unusable if:

  • it exceeds the budget
  • the item is unavailable
  • the category does not match
  • the product cannot be purchased
  • the outfit does not include compatible pieces
  • the agent invents product details

This pushed us toward a tool-grounded architecture where the AI reasons over structured product data rather than hallucinating an imaginary catalog.

4. Personalization without overcomplication

Personalization can quickly become a huge machine-learning project.

For the hackathon, we focused on building a strong foundation:

  • explicit preferences
  • behavioral events
  • structured product attributes
  • contextual ranking
  • semantic retrieval
  • wardrobe context
  • session context

That creates a practical path toward more advanced recommendation models later.

5. Mobile performance

Images are expensive.

AR/try-on workflows can involve large photos and generated outputs, which creates challenges around:

  • upload size
  • image compression
  • memory
  • network conditions
  • caching
  • rendering
  • device capability
  • repeated generation requests

We therefore treated media handling as a first-class mobile engineering problem rather than an afterthought.

6. Designing an agent that remains predictable

A shopping agent needs freedom to make useful decisions, but it also needs boundaries.

We designed actions around explicit tools and state transitions so that sensitive operations can require confirmation.

For example:

Recommendation → automatic
Product swap → automatic
Try-on → automatic
Draft cart → automatic
Purchase → human approval

That distinction is important as agentic commerce becomes more powerful.

Accomplishments that we're proud of

We connected visual AI to an actual commerce workflow

Our biggest accomplishment is that the AR experience is not isolated.

The same system can move from:

shopping intent → product discovery → complete look → try-on → refinement → cart

That is the experience we believe makes MirrorCart meaningfully different from a standalone virtual fitting-room demo.

We designed the product around the complete outfit

Most shopping experiences optimize around individual products.

MirrorCart thinks in terms of looks.

The user does not necessarily want “a shirt.”

They want:

“What should I wear?”

That shift changes how recommendations, ranking, visualization, and commerce are designed.

We made conversational refinement part of shopping

One of the most exciting interactions is:

“Make it cheaper.”

followed by an actual revised look.

The AI is not simply producing another sentence. It is changing the underlying product set while trying to preserve the user's original intent.

We built for mobile from the beginning

The camera, AR visualization, gesture interactions, product browsing, and shopping workflow were designed around mobile rather than treating mobile as a later wrapper.

We designed a real path away from mock data

We deliberately moved the architecture toward live application services, normalized API models, persistent state, real image workflows, and explicit test fixtures rather than relying on static mock arrays throughout the UI.

We treated monetization as part of the product architecture

MirrorCart has room for multiple business models:

  • premium AI styling
  • virtual try-on credits
  • subscription plans
  • affiliate commissions
  • retailer referral revenue
  • premium personalization
  • paid styling experiences

Importantly, these monetization concepts are tied to real product value rather than simply placing advertisements throughout the experience.

We designed for extensibility

The same architecture can support future capabilities such as:

  • shoes
  • handbags
  • accessories
  • cosmetics
  • wardrobe planning
  • travel packing
  • event styling
  • social outfit sharing
  • personalized storefronts

The AR experience becomes a platform rather than a one-feature demo.

What we learned

The best AI experience is often an interaction loop

We learned that the strongest product idea was not:

“AI recommends fashion.”

It was:

“AI proposes something, lets me see it, listens to my reaction, and improves it.”

That loop is much closer to how a real human stylist works.

Visualization changes the meaning of recommendation

A recommendation is hypothetical.

A try-on result is concrete.

Once the shopper can see the outfit in context, the conversation becomes much more specific:

“I like the dress but not the shoes.”

“Make the outfit less formal.”

“Show me a cheaper bag.”

That makes visual AI an interface for better decision-making, not simply image generation.

Agentic systems need strong grounding

We learned that commerce agents should be grounded in structured data and explicit tools.

The AI can decide what to do, but application services should determine facts such as:

  • price
  • availability
  • product identity
  • cart contents
  • API status
  • entitlement
  • transaction state

That separation makes the system more reliable.

AR introduces a completely different product-design problem

A normal mobile interface can place lots of information on the screen.

An AR camera cannot.

The user needs to see themselves.

That forced us to think much more carefully about:

  • information density
  • overlays
  • touch targets
  • loading behavior
  • visual hierarchy
  • motion
  • capture controls
  • error recovery

Personalization is more than recommendation history

The most useful personalization is contextual.

The same person might want completely different recommendations for:

  • work
  • vacation
  • a wedding
  • a date
  • a weekend
  • a limited budget

That means the future personalization model needs to understand the user's current mission, not only their historical preferences.

The human still matters

The strongest agentic-commerce experience is not necessarily one where the AI does everything autonomously.

It is one where the AI removes the tedious work while keeping the user in control of important decisions.

MirrorCart is designed around that principle.

What's next for MirrorCart

The next phase is to turn the prototype into a continuously learning shopping platform.

1. Real-time product ecosystem

We want to connect more live retailer and commerce sources so MirrorCart can operate on a broader and fresher product catalog.

The goal is to move from a curated prototype catalog toward:

“Show me what I can actually buy right now.”

2. More advanced AR

We want to push the visual experience further with:

  • more complete outfit layering
  • accessories
  • footwear
  • stronger depth and occlusion
  • improved body/pose guidance
  • lighting-aware visualization
  • richer gesture interactions
  • faster generation
  • higher-quality visual output

The long-term experience should feel increasingly like a digital fitting room rather than a generated image screen.

3. Persistent wardrobe intelligence

Users should be able to build a digital closet by photographing their existing clothes.

MirrorCart could then reason over:

  • what they already own
  • what they actually wear
  • gaps in their wardrobe
  • duplicate purchases
  • compatible new products

A future shopping request could become:

“Build me five work outfits using what I already own and tell me the three things I should buy to complete them.”

4. More intelligent agent memory

We want MirrorCart to remember useful preferences without making the experience feel repetitive.

For example:

“You usually prefer neutral colors, but last time you liked the red accessory. Want me to include a statement piece?”

That turns personalization into an evolving relationship.

5. Advanced recommendation intelligence

Future versions can incorporate stronger retrieval, embeddings, multimodal product understanding, contextual ranking, and continuous feedback models.

The goal is to optimize not only:

“What product is likely to be clicked?”

but:

“What complete look is most likely to make the shopper feel confident about their purchase?”

6. Agentic commerce beyond recommendations

Eventually, MirrorCart could handle much more of the shopping workflow:

  • monitor wishlists
  • track price drops
  • identify better alternatives
  • watch product availability
  • rebuild an outfit when an item sells out
  • optimize the cart against a budget
  • prepare orders
  • coordinate shopping for events or trips

The user could simply say:

“I need three outfits for my trip next month. Keep everything under $500 and use as much of my existing wardrobe as possible.”

MirrorCart's job would be to figure out the rest.

7. A larger business opportunity

The long-term vision is bigger than a virtual try-on app.

MirrorCart can become the AI interface between people and fashion commerce.

Instead of visiting dozens of storefronts and manually comparing products, the shopper interacts with an intelligent visual agent that understands:

who they are + what they need + what they own + what looks good on them + what they can afford + what they can actually buy.

That is the future we want to build with MirrorCart.

MirrorCart: See it. Style it. Shop it.

Built With

  • youcam
Share this project:

Updates

Submission history