Skip to content
qpoi.
← Selected work

Consumer mobile

Auddr.ai

Auddr.ai helps people choose what to wear from clothes they already own. Users photograph their wardrobe, add details such as materials and weather suitability, and receive AI outfit suggestions for the day. QPOI built the iOS and Android app, including outfit previews, lookbooks and wardrobe sharing.

Sector
Consumer AI
Platform
iOS + Android
Stack
React Native (Expo)
Duration
7 months
Engagement
Full product delivery
Status
Launched

The project at a glance

The problem

Outfit suggestions needed to work with the clothes a person actually owns, their materials and the weather they suit.

What QPOI delivered

QPOI delivered the mobile product, from wardrobe capture and daily suggestions to outfit previews, sharing and subscriptions.

Delivery evidence

Launched on iOS and Android. Suggestions are checked against the user's wardrobe in code.

Outfit generation pipeline, as builtView diagramHide diagram
GARMENT PHOTOSmoderated on uploadWARDROBE FILTERweather + occasionSTYLING AGENTSvalidated against wardrobeWORN PREVIEWimg2img over real garmentsEVERY SUGGESTION RESOLVES TO GARMENTS THE USER ACTUALLY OWNS
1.0

The challenge

The client brought a detailed styling framework covering occasions, outfit compatibility and how people wanted to feel. QPOI needed to turn it into a product that selected from each person's actual wardrobe. That required checking suggested items against saved garments and using the uploaded photos as the basis for outfit previews.

The wider app included lookbooks, packing lists, wardrobe insights and community sharing. QPOI also built photo moderation, subscriptions and usage limits, consent and account deletion flows, and releases for both app stores.

2.0

Core product capabilities

2.1

Styling constrained to the wardrobe

Each styling agent receives details of the saved garments and returns item IDs. Code checks those IDs against the wardrobe and rejects incompatible combinations before displaying the outfit.

2.2

Previews from real clothes

The app composites the user's actual garment photos on a hidden canvas, layered by piece role, then runs image-to-image generation over that composite. The output is anchored to clothes the user owns, not clothes the model imagined.

2.3

Weather, occasion and personal preferences

The app filters garments by weather and occasion before requesting an outfit. Styling preferences also guide the selection, while related occasion categories provide alternatives when the wardrobe has few suitable items.

2.4

Lookbooks, packing lists and wardrobe insights

Lookbooks composed on a drag-and-drop canvas, collections, packing folders for trips, and an insights screen computed from the items themselves: wardrobe value, wear frequency, never-worn counts, and category, colour and brand breakdowns.

2.5

Community and sharing

Users submit outfits for up and down votes with a leaderboard, follow each other, and share wardrobe or wishlist sections by link, including a gifting mode built on wishlist sharing. Share links are universal links, so they open straight into the app.

2.6

Photo moderation and subscriptions

Uploaded photos are checked by Google Cloud Vision SafeSearch on the server, with flagged images sent to quarantine and an admin review queue. RevenueCat manages subscriptions, with free-tier limits of 10 AI generations and 100 wardrobe items.

3.0

Engineering decisions

3.1
Generate, then verify

The model returns an explanation and a structured list of garments. The app validates that list against the wardrobe and outfit rules before saving it to the conversation.

3.2
Generation keys stay server-side

Image generation runs in a Cloud Function with its token held in Secret Manager; the binary shipped to the stores never contains it. Failures are written to a Firestore audit collection, so errors are diagnosable without log access.

3.3
Privacy as the default

Analytics ships opted out until the user consents, Firebase Analytics receives a randomised ID rather than the account ID, marketing email requires a separate opt-in with a recorded timestamp, and account deletion removes both the data and the credentials.

4.0

Outcome

  • Launched on the App Store and Google Play, with subscriptions live from day one
  • Every AI suggestion resolves to garments the user actually owns, enforced in code
  • One product spanning styling, lookbooks, insights, sharing and community, moderated server-side
  • Connected consent preferences, lifecycle emails and subscription state
Behind the build / Engineering notes
How it works, in detail

The two-stage visualisation pipeline, the validation that keeps the stylist inside the user's wardrobe, and the faults the process caught before users met them.

Read the engineering notes →

Built with

  • React Native (Expo)
  • TypeScript
  • Firebase
  • Cloud Functions
  • OpenAI o4-mini
  • Prodia (FLUX img2img)
  • Google Cloud Vision
  • RevenueCat
  • Brevo
  • Mixpanel
  • Zustand

Next project

iTrade
Discuss your mobile product