Inspiration
Group purchases often involve scattered messages, competing preferences, and unclear budgets. Gather brings those decisions into one shared shopping room so everyone can contribute and agree on a product together.
What it does
Gather lets a group share product needs, search store listings, review a suggested match, approve a selection, and agree on how to split the expected cost. A voice assistant can help collect requirements and search. The checkout screen demonstrates a one-time card payment flow, but payment is simulated. No card is issued and no money is collected or sent to a merchant.
How we built it
We built Gather with Python, SQLite, and a responsive HTML, CSS, and JavaScript interface. Product listings come from supported retailer searches, with Google Shopping discovery available when configured. OpenAI Realtime powers the optional voice conversation over WebRTC.
Challenges we ran into
Product searches can return accessories or listings that do not match the requested product. We added product matching and budget checks, and made seller and price verification part of the approval flow. We also had to coordinate approvals and share agreements across multiple people.
Accomplishments that we're proud of
We built a working shared shopping flow from room creation through product approval and cost splitting. The interface adapts to phone and desktop screens, and the payment simulation makes the proposed checkout experience easy to understand without implying that a real transaction occurred.
What we learned
A useful group shopping experience needs more than product results. It needs clear requirements, transparent prices, visible agreement from each payer, and an honest distinction between a checkout concept and a completed payment.
What's next for Gather
We plan to improve product matching and retailer verification, make shared rooms easier to access, and explore real payment integration once the appropriate partner APIs and approvals are available.
Log in or sign up for Devpost to join the conversation.