Snap2Shop 🛍️
🌟 Inspiration
In the fast-paced world of fashion, trends move quickly—and so do customers. We asked: What if you could instantly shop the look that caught your attention on the street? Whether you're scrolling on Instagram, spotting a stranger's outfit, or admiring a celebrity’s style, Snap2Shop lets you instantantly explore and order those clothes.
We created an app that allows users to take a picture or upload a screenshot of an outfit they like and instantly find similar products from Inditex brands (Zara, Pull&Bear, Massimo Dutti, Oysho, Lefties...). The goal? Help users go from a snap to cart in seconds, increasing sales by simplifying discovery.
🧠 What It Does
Image Input: Users upload or take photos of clothing they like.
Product Match: We send the image to an Inditex-provided API powered by an LLM, which finds visually similar products from Zara, Massimo Dutti, etc.
Fast Discovery: Matching items are displayed with product name, price, discounts, and direct links to shop.
Wishlist: Users can mark as favorite items that they love.
Recent Cache: Products are internally cached for allowing a seaminglisly speed up and efficiency.
Scraping Support: For product thumbnails, we supplement results by scraping product images from Zara's website.
Mock Sessions: Users can “log in” to retain their data across app restarts and ensure user privacy.
🔧 How we built it: Tech Stack
Frontend: Flutter (Dart)
Backend: Python FastAPI, Firebase
Important APIs: Inditex Visual Sarch API (LLM based similarity search provided by Inditex), Scrapping (provided by ScrapperAPI)
Storage: Local cache for fast data retrieval
Mock Authentication: Session simulation with user data

🚀 Why It Matters (Impact)
Inditex doesn’t just sell clothes—they sell style. But customers don’t always know how to find for what they like. Snap2Shop transforms casual discovery into real purchases.
💡 Imagine someone spotting an outfit on the subway and buying a similar one from Zara before they even reach home.
With direct, frictionless shopping from image input, this app can increase conversion rates and average order values, helping Inditex turn inspiration into revenue.
🧩 Challenges we ran into
Flutter was new to all of us, so we had to quickly get up to speed while managing the stress and frustration that came with it. With four people working on the same repo, resolving conflicts, cleaning code, and refactoring functions required strong communication and teamwork. We tackled many smaller technical hurdles—running the app on Android, authenticating API requests, server setup, and scraping limitations. Balancing intense work with short breaks helped us maintain focus, avoid burnout, and keep team morale high throughout the project.
📅 Future work:
Lots of good ideas we wrote down in our notebooks on Friday night and through all this adventure that has been our experience at HackUPC 2025 remain to be implemented. We know the work we did this weekend is only the first stone of a great project. However, with little time to develop we chose to focus on delivering a reliable, complete and frictionless experience to the user focused on the core functions for our project.
Some very interesting functions we started implementing but were not possible to have in the stable version by the deadline are:
- User login based on OpenID connect protocol (Keycloak for open source maybe running on a docker): Keycloak would allow implementing role based authentication and authorization, giving users an API request limit. This would be very interesting to avoid having malicious uses that execute scripts and spend all the API calls limits to Inditex endpoint. And to have a registration form with captchas for only human users (same reason as before). We believe this would be feasible in a near future (roughly one or 2 weeks)
- Integration into the sharing menu in Android: we wanted to make our app accessible to the user when sharing images in their phones, so the clothes discovery experience becomes even more frictionless and integrated into the user mobile use. Unfortunately, this feature run into compatibility issues, and although we tried until the end it couldn't make it into the first version of this tool for cloth identification, although it will surely be integrated in next versions.
Log in or sign up for Devpost to join the conversation.