Inspiration
Letting an AI shop for you sounds convenient, but I kept coming back to one question: how do you know it bought what you actually meant?
A monitor might have USB-C but not enough power to charge your laptop. A good deal might become final sale before checkout. I built Cartel to make those details part of the purchase approval, so an agent cannot quietly overlook them.
What it does
Cartel checks products against your requirements and shows the evidence behind each result. It tells you what passes, what fails, and what it cannot verify.
You approve a purchase contract with your passkey. Before payment, Cartel checks the live checkout against that contract. If an important detail has changed, it pauses the purchase.
My demo uses GreatHub, a test store I built where I can change product details. A monitor drops in price, but its charging power also drops below the requirement. Cartel catches the problem and blocks the purchase. Payments run in the Visa Acceptance sandbox, so no real money moves.
How I built it
I built Cartel with Next.js, React, and TypeScript, using Supabase and PostgreSQL for authentication, data, and purchase records.
I built an AI layer to help interpret shopping requests, a constraint solver to find suitable product combinations, and a rule engine to check whether the evidence meets each requirement. AI helps with interpretation; the rule engine handles the final checks.
I also added passkey signing and a downloadable Evidence Pack that can be verified offline.
Challenges I ran into
Keeping the purchase contract consistent across the browser, server, and database was challenging. The exact contract someone signs has to be the one checked before payment.
I also had to handle retries without allowing duplicate charges and deal with incomplete product information. Sometimes the honest answer is “cannot verify,” and I wanted the interface to make that clear.
Accomplishments that I'm proud of
I'm most proud of the demo where a lower price hides a worse product. It makes the problem easy to understand and shows why checking the total alone is not enough.
I'm also proud that the purchase checks work independently of the AI, and that the Evidence Pack lets someone inspect the purchase record without relying on the app.
What I learned
I learned that building trust means making uncertainty visible. A confident answer is not useful if there is no evidence behind it.
Separating AI suggestions from purchase decisions also made the system easier to test, debug, and explain.
What's next for Cartel
I want to connect the AI request flow more fully to the shopping interface, expand testing around checkout changes, and support more merchants.
I also want to make the evidence and approval screens simpler, so someone can understand why a purchase was approved or paused without needing to understand the technology behind it.
Built With
- cybersource
- highs
- next.js
- openai
- playwright
- pnpm
- postgresql
- react
- shopify-ucp
- simplewebauthn
- supabase
- tailwind-css
- typescript
- vercel
- vercel-ai-sdk
- visa-acceptance
- vitest
- webauthn

Log in or sign up for Devpost to join the conversation.