Inspiration Social media platforms have normalized augmented reality photo filters, but most existing consumer filters remain superficial—limited to basic face warping or 2D stickers. Meanwhile, virtual try-on (VTO) and AI skin diagnostics have grown increasingly sophisticated in enterprise beauty and retail settings.

Our inspiration came from bridging these two worlds: bringing retail-grade AI virtual try-on and skin analysis out of isolated brand apps into a unified, consumer-centric mobile camera experience. We wanted to give users a creative sandbox where they could experiment with their appearance—trying new clothing styles, exploring bold hairstyles, or getting quantified skin metrics—directly from a single camera interface.

What it does Transform AI offers an intuitive workflow for photo capture, AI transformation, and social sharing:

Capture or Upload: Users can snap a new selfie using the integrated Android camera or select an existing image from their device gallery using the Android Photo Picker.

Skin AI Diagnostics & Simulation: Powered by Perfect Corp.'s AI Skin Analysis API, the app scans the selfie across key skin health parameters (wrinkles, dark circles, spots, texture, and moisture) and renders visual skincare improvements (smoothing, tone evening, and radiance enhancement).

Apparel & Hairstyle VTO (Virtual Try-On): Utilizing YouCam AI Virtual Try-On and Hairstyle Changer endpoints, users can select garments (casualwear, formal outfits, jackets) or test new hair colors and styles (such as ash blonde, ombre, or trendy cuts) that conform naturally to their body shape and facial contours.

Download & Social Sharing: Transformed images can be saved locally in high resolution or shared directly to social platforms like Instagram, Snapchat, TikTok, and WhatsApp via native Android share intents.

Consumer & Retail Value Consumer Value: Eliminates hesitation and uncertainty when considering physical changes (such as a radical new hair color or purchasing an outfit online) by offering realistic visual previews without physical commitment.

Retail & E-Commerce Value: Serves as a bridge between social media engagement and fashion/beauty e-commerce, helping lower product return rates and boost conversion through interactive "try-before-you-buy" previewing.

How we built it Transform AI was developed natively for Android using a modern mobile development stack:

User Interface: Built entirely with Jetpack Compose, featuring a custom bottom filter carousel and interactive overlay cards for skin metrics.

Camera & Media Access: Integrated CameraX for hardware-accelerated photo capture and the Android Photo Picker / MediaStore API for media selection.

Networking & Async Processing: Utilized Retrofit and Kotlin Coroutines to manage API communication following the asynchronous workflow outlined in the YouCam API Documentation:

Authentication: Requests carry standard Bearer token authentication headers (Authorization: Bearer YOUR_API_KEY).

File Upload: The app initiates a file request via the YouCam File API (/s2s/v2.0/file/...), receiving a file_id and pre-signed upload URL to stream image bytes directly.

Task Initiation: The app dispatches AI tasks (e.g., /s2s/v2.0/task/skin-analysis or /s2s/v2.0/task/virtual-try-on) along with configuration payloads, obtaining a unique task_id.

Status Polling: A reactive Kotlin Flow polls the status endpoint (GET /task/${task_id}) with exponential backoff until task_status == "success".

Rendering & Export: High-resolution result URLs are downloaded and cached using Coil, making them immediately available for saving or sharing.

Challenges we ran into Technical Wall & Workaround Managing Polling Latency and App Responsiveness: Generative AI tasks for apparel try-on and skin analysis require multi-second cloud processing. Synchronous waiting or unoptimized polling risked draining battery life, throttling network requests, or freezing the UI.

Workaround: We implemented a state-driven reactive pipeline using Kotlin Flow and StateFlow. While the task_id is polled in the background with exponential backoff, the UI displays animated shimmer loaders and informative progress states (e.g., "Analyzing skin layers...", "Fitting apparel drape..."). If a user switches filters midway, cancellation tokens immediately abort pending polling loops to conserve API bandwidth.

Handling Pre-Signed URL Streaming: Streaming raw image files from Android bitmap storage directly to YouCam's pre-signed upload URLs required careful byte management to avoid memory pressure on low-end devices.

Workaround: We designed an isolated Repository layer that compresses media to optimal resolution on a background I/O dispatcher before uploading raw byte streams directly to the pre-signed target URL.

Accomplishments that we're proud of Realistic Generative Results: Successfully rendering complex clothing fits and hair strand details on custom user photos while preserving original facial expressions and background lighting.

Responsive Native UI: Combining CameraX and Jetpack Compose to deliver a fluid filter-drawer interface similar to popular social camera apps.

Clean Architecture: Structuring a modular Android codebase that encapsulates YouCam API task creation, polling, and media caching cleanly away from the UI view layer.

What we learned Task-Based Asynchronous API Design: Working with task-based AI APIs reinforced the importance of background queue handling, polling strategies, and clear state management in mobile applications.

AI Image Segmentation & Lighting Retention: Observing how Perfect Corp.'s generative models retain surrounding environment details and lighting conditions while altering hair or clothing provided valuable insights into state-of-the-art computer vision models.

Perceived Performance in Mobile UX: Micro-animations, progress indicators, and optimistic state updates significantly improve the user experience during cloud-based AI image generation.

What's next for Transform Real-Time AR Live Preview: Expanding from photo-based processing to live camera stream overlays for real-time filter selection.

Affiliate E-Commerce Integration: Allowing users to tap on try-on garments or skincare recommendations to view product details and purchase directly from partner retailers.

Multi-Subject Processing: Enabling virtual try-on and skin diagnostics for group photos with multiple people.

Built With

  • camerax
  • coil
  • googlemlkit
  • gradle
  • gson
  • hilt
  • jetpackcompose
  • kotlin
  • kotlincoroutines
  • material3
  • retrofit2
  • youcamapi
Share this project:

Updates

Submission history