David HsiaoCase study / 03
App Store product / applied AI
Live on the App Store · Version 1.0 · Released August 7, 2026

OutfitSignal: Shipping a Consent-Aware AI Style App

My first App Store release: an accountless, 18+ outfit feedback app that turns user-selected photos into subjective style guidance while keeping consent, age suitability, and data boundaries visible.

ReleaseApp Store · Version 1.0
ClientExpo · React Native
IntelligenceGemini 2.5 Flash
EdgeCloudflare Worker
01

A signal, not a verdict.

OutfitSignal frames every result as subjective style guidance rather than an objective judgment of a person. Gemini returns structured feedback that the interface can explain and prioritize, while the product language keeps taste, context, and user choice in the foreground.

  • Feedback stays focused on garments, combinations, and styling moves.
  • An optional Style Coach can consider occasion, intended vibe, and a short context note.
  • The improvement plan is editable and remains on the device.
02

Useful alone, bounded in a group.

The solo flow provides outfit signals and a practical next move. Group Grade supports photos containing two to six consenting adults, but it deliberately avoids identity, winner rankings, and claims about faces, bodies, or personal traits.

  • Score overlays stay attached to outfits rather than identities.
  • Every included adult must consent before a group photo is submitted.
  • The output describes each look without turning the group into a competition.
03

Make the boundary visible before upload.

OutfitSignal has no sign-in flow. Submitted photos and briefs pass through the Cloudflare Worker to Gemini and are not stored on OutfitSignal servers; the saved improvement plan stays local. The app requires an 18+ affirmation and uses Apple's Declared Age Range capability on supported devices.

  • The AI photo handoff is disclosed before the user submits.
  • Accountless use reduces the personal data the product needs to hold.
  • Anonymous support feedback is separated from outfit media and cleaned up on a retention schedule.
04

Keep the model key off the phone.

The Expo and React Native client resizes selected imagery before sending it to a rate-limited Cloudflare Worker. The Worker holds the Gemini credential and requests a structured Gemini 2.5 Flash response, so the mobile bundle never contains the provider key and the interface receives a predictable result shape.

05

Generate the share surface on device.

OutfitSignal can produce 9:16 Story and 4:5 Feed images locally, alongside a text-only option. Raw occasion notes are excluded from the share asset so the social output can communicate the styling result without leaking the user's private context.

06

The release surface is part of the product.

Version 1.0 shipped in English and Traditional Chinese after the app, age-assurance flow, support channel, and privacy surface were aligned for release. Reaching the App Store turned OutfitSignal from an ongoing build into my first publicly shipped native product.