Inspiration Shopping often starts with a feeling: “I want my room to look like these photos.” Turning that feeling into search terms, comparing products, and staying on budget takes work. We built Mosaic to make visual inspiration the starting point for shopping.

What it does Mosaic lets users collect images on a mood board and turn them into a reusable “Vibe Profile.” The goal is to use that profile to find products across categories, build one editable cart, and refine it with requests like “keep the lamp, but make the rest cheaper.” The user reviews and approves every purchase.

How we built it We used Next.js and TypeScript for the app and backend APIs, Supabase for boards, images, products, and cart data, and a Python FastAPI service for visual analysis. Application code validates cart changes and calculates prices and budgets. For checkout, we built a Stripe Link sandbox prototype that splits one Mosaic cart into purchases from two merchant accounts.

Challenges we ran into Connecting several systems into one shopping flow was the biggest challenge. A single cart can contain items from different merchants, but each merchant’s payment still needs to be handled correctly. We also had to keep AI suggestions separate from trusted cart and price calculations. The deployed visual analysis service currently needs debugging: its health check works, but image analysis returns an error.

Accomplishments that we're proud of We built the backend for persistent boards, image uploads, product search, cart actions, budgets, and checkout. We also verified a two merchant test payment: both Stripe sandbox payments succeeded through Link with no real funds charged. That gives us a concrete proof of concept for purchasing from multiple stores from one Mosaic cart.

What we learned A useful shopping agent needs more than recommendations. It needs reliable product records, an editable cart, clear budget rules, and a checkout where the customer stays in control. We learned to let AI interpret taste and propose changes while application code verifies what actually happens.

What's next for mosaic Next, we’ll fix the deployed image analysis service, connect the frontend to the live backend flow, and expand beyond the demo product catalog. We also want to make multi merchant checkout smoother: today, the sandbox flow requires a separate confirmation for each store.

Built With

Share this project:

Updates

Submission history