Inspiration

We have all had that moment: you are scrolling through TikTok or Instagram when someone appears wearing the perfect jacket, shoes, or entire outfit. You pause the video and think, “I need that—but where is it from?”

What follows is frustrating. You take a screenshot, crop it, guess different search terms, and scroll through pages of unrelated products. Something that caught your attention instantly can take hours to find—or remain completely undiscovered.

Music used to have the same problem. You would hear a song you loved but have no idea what it was called. Then Shazam turned that frustration into one simple action: listen, identify, discover. That inspired us to ask:

What if Shazam could see?

We built Fit Stealer—a visual discovery tool that identifies clothing from a screenshot or photo and helps users find where they can get it.

What it does

Fit Stealer transforms an outfit screenshot into searchable clothing results. A user selects a screenshot or photo, and Fit Stealer: Detects the individual garments. Describes their important visual features. Searches for matching products. Separates likely exact matches from honest similar alternatives. Displays product cards with prices, stores, and links. We also developed an experimental iOS Share Extension. Instead of manually opening Fit Stealer and searching for a saved screenshot, users can share an image directly to Fit Stealer and receive a notification when the results are ready.

How we built it

We designed Fit Stealer as a three-service system connected by one reusable pipeline: Capture → Ingest → See → Source → Judge → Rank → Return Our Expo and React Native app captures screenshots or short videos and displays live results. Express manages uploads and asynchronous jobs, while FastAPI coordinates the AI and commerce pipeline. Each sponsor technology performs a real job:

Baseten acts as the eyes, detecting garments, analyzing cropped details, and visually comparing products. Shopify Global Catalog provides our primary product inventory. Composio expands the search when Shopify results are limited. Browserbase performs a web and reverse-image search only when catalog confidence is weak. OpenAI creates structured garment descriptions, improves search queries, ranks candidates, and explains each match. Sentry provides tracing, logs, error monitoring, and session replay across the complete pipeline. Cloudflare Workers, Durable Objects, KV, and R2 provide an alternative stateful agent architecture with job memory and result caching. Expo delivers the complete mobile experience, including uploads, camera capture, video previews, live status updates, haptics, and product results. We intentionally separate Found products from Similar alternatives. An item is only called an exact match when visual analysis confirms it with high confidence; otherwise, Fit Stealer communicates that uncertainty honestly. Every sponsor technology occupies a meaningful part of the live product—not an unused integration added solely for a prize track.

Challenges we ran into

One of our biggest challenges was understanding that recognizing clothing and finding its source are two different problems. Even when the AI correctly identifies a black leather jacket, finding the exact product can be difficult. We did not want Fit Stealer to confidently invent a brand or claim that a similar product was exact. We built an explicit exact-versus-similar ranking system so the application remains honest about its results. We also had to coordinate three runtimes—React Native, Node.js, and Python—while maintaining a consistent asynchronous job contract between them. iOS introduced another major challenge. Apps cannot silently capture the screen of another application or automatically open themselves from a Share Extension. We designed a privacy-respecting alternative where the user explicitly shares an image, Fit Stealer processes it, and a notification leads them to the results. Other challenges included image preprocessing, native Expo configuration, product-catalog normalization, external API integration, and creating structured logging that made failures visible across the entire pipeline.

Built With

Share this project:

Updates

Submission history