OpenCommerceLens
OpenCommerceLens is an AI shopping platform that helps people discover products, build outfits, try them on virtually, and complete purchases through a conversational interface.
Inspiration
Online shopping is still built around filters, keywords, and browsing one store at a time. People often know the occasion or feeling they are shopping for, but not the exact product they need.
We built OpenCommerceLens to make shopping feel more like speaking with a stylist who can also take action. The assistant can understand natural language, remember the current session, search across merchant catalogues, ask clarifying questions, assemble recommendations, and guide the user through checkout.
What it does
- Lets users search product catalogues with natural language.
- Streams AI responses and invokes shopping tools when needed.
- Returns structured product results that can be filtered, compared, selected, saved, and added to cart.
- Keeps cart and saved products associated with the authenticated user.
- Supports product image carousels, multi-product selection, and grouped cart management.
- Provides virtual try-on workflows where users can build an outfit progressively from a saved selfie.
- Prepares merchant-grouped checkout sessions with Prava, an approval and payment layer for AI agents.
- Polls payment status and stores checkout history, order identifiers, and transaction states.
- Provides a Shopify app that syncs product details, variants, images, inventory, and embeddings into the AI-ready catalogue.
- Re-indexes products when Shopify product create, update, and delete webhooks are received.
How we built it
OpenCommerceLens is split into a consumer client, an AI commerce backend, and a Shopify merchant app.
- React and Vite power the consumer experience, including the single-page conversational discovery and canvas-style shopping flow.
- Node.js, TypeScript, and PostgreSQL power authentication, conversations, session memory, cart, saved products, checkout records, and agent tools.
- OpenAI powers the conversational agent, structured tool calling, and streamed responses.
- Vector embeddings make products searchable by meaning as well as exact words.
- Supabase provides authentication and user identity for the consumer app.
- Prava provides payment sessions, approval, payment authorization, and transaction status for agent-assisted checkout.
- YouCam powers the virtual try-on workflow.
- The Shopify app uses Shopify Admin GraphQL, app-specific webhooks, Prisma, and a shared catalogue schema to keep merchant products synchronized.
The central design principle is that the assistant does not only return an answer. It can move the user through discovery, selection, preparation, approval, and post-payment status tracking while keeping the user in control of payment approval.
Challenges we ran into
- Designing a conversational state machine that can remain in chat while the assistant asks questions, then transition to product discovery or checkout only when the user is ready.
- Keeping session memory and user-owned data consistent across streamed requests, browser refreshes, authentication changes, and multiple devices.
- Normalizing products from different Shopify stores while preserving variants, images, prices, availability, merchant identity, and filterable attributes.
- Handling carts containing products from multiple merchants, since checkout must be prepared and authorized per merchant group.
- Making payment state reliable when Prava approval, merchant confirmation, iframe display, and asynchronous status updates do not complete at the same time.
- Keeping the Shopify catalogue synchronized through webhooks and re-embedding changed products without blocking webhook acknowledgement.
- Supporting progressive virtual try-on, where a later garment should be applied to the already-generated outfit rather than starting from the original selfie each time.
Accomplishments that we're proud of
- Built a working conversational shopping experience instead of a static product search page.
- Connected AI tool calls to real catalogue search, cart, saved-product, checkout, and payment workflows.
- Implemented authenticated user ownership for conversations, cart items, saved products, try-on sessions, and checkout history.
- Built merchant-grouped checkout preparation so products from the same merchant can be sent together to Prava.
- Added payment approval and status handling with visible session and order references for traceability.
- Built a Shopify app that ingests and embeds merchant catalogues and receives product lifecycle webhooks.
- Created a product experience that supports multiple images, local filtering, selection trays, cart actions, and saved-product actions without losing the existing page flow.
What we learned
- An AI commerce product needs explicit state and durable memory; conversation history alone is not enough.
- Tool contracts and agent instructions must clearly separate discovery, cart review, checkout preparation, payment approval, and payment status checking.
- Payment approval should never be hidden behind an AI response. Users need a clear approval surface and a reliable way to return to the conversation.
- Multi-merchant commerce is a coordination problem, not just a checkout button. Merchant grouping, totals, status, and failure recovery must be visible.
- Product ingestion is an operational pipeline. Webhook acknowledgement, retries, queueing, embeddings, and observability are as important as the catalogue UI.
- The best shopping interface combines conversational intent with structured controls, so users can move naturally between chat, products, cart, try-on, and checkout.
What's next for OpenCommerceLens
- Publish the Shopify app and make merchant installation and catalogue onboarding production-ready.
- Move product re-indexing and webhook processing to a durable production queue and worker architecture.
- Improve multi-merchant checkout orchestration, including partial success, merchant confirmation, refunds, and retry handling.
- Add richer merchant controls for catalogue visibility, embedding limits, sync health, and product quality.
- Improve try-on quality and progressive outfit editing across garments, accessories, and footwear.
- Add stronger product ranking, personalization, saved preferences, and cross-merchant recommendations.
- Expand checkout history with fulfilment, cancellation, and merchant order status updates.
- Continue improving observability, automated tests, and privacy controls before wider customer rollout.
Built With
- openai
- prava
- visa
- youcam
Log in or sign up for Devpost to join the conversation.