Inspiration
Getting a room ready for an occasion takes hours: working out what's missing, searching a dozen stores, guessing what fits, and paying at five checkouts. US retailers expected $890 billion in returns in 2024, and much of that is "it didn't fit" or "it didn't look like the photo."
AI agents could do this for us. But an agent that can pay is a risk unless it can prove two things: what you agreed to, and who it is. That's the gap we built for.
Our demo follows Daniel, an imagined user. He's a nurse getting his living room ready for his mom's first Christmas since his dad died. He has $250, four days, and no time.
What it does
- Talk to Aura. Aura is an AI agent with a face and a voice. You just talk, and Aura fills everything in and drives the app for you. Aura can do everything except two things only you can do: pick the photo and sign the payment.
- One photo. Auratekture reads the room: its style, what's already there, and anything to be careful with.
- A plan with real products. It works out what's missing for your purpose, budget, headcount and date. It skips what you already have, and finds real listings from real stores that fit your budget.
- See it in your own room. An AI image of your photo shows every product in place. Each product has a numbered dot you can tap to open the real listing. Fit and safety checks flag problems, like a tree taller than your ceiling or decor near a fireplace. Sizes and delivery dates say whether they come from the listing, are estimated, or aren't listed.
- Change anything. Ask for a cheaper or different item and redraw the picture.
- Pay once. You sign one approval for exactly this basket: these items, these stores, a spending cap, valid for 15 minutes, usable once. Each store checks the agent and the approval before Visa authorizes the payment.
- Try to cheat it. The Trust check lets anyone attack their own checkout three ways: change a price after signing, alter the request, or replay an old payment. All three are blocked before Visa is called.
How we built it
- Base44 runs the whole app: pages, backend functions, data, accounts and roles, Secrets, and hosting, with two-way GitHub sync. Base44's AI builder wrote the app code from my prompts.
- Gemini does the AI work:
gemini-4-argonreads the photo (with Flash as a fallback), Gemini Flash plans the room, matches products and places the numbered dots, and Gemini Nano Banana 2.1 draws the products into your own photo. - SerpApi (Google Shopping) finds real products, searched in parallel and cached for 24 hours.
- Visa Acceptance sandbox runs the payments (
/pts/v2/payments, authorization only), with one authorization per store. Each store is recorded before Visa is called, and a timed-out payment is looked up with Visa's transaction search before any retry, so nobody is charged twice. - Trust layer, built to Visa's Trusted Agent Protocol spec:
- Your browser signs the approval with Ed25519 (WebCrypto).
- The agent signs each store's request with RFC 9421 HTTP Message Signatures:
agent-payer-authtag, 8-minute window, one-time nonce, and a key in a public key directory. - The store-side checker runs the spec's steps in order, then checks the request against what you signed, and shows every check on the receipt.
- Aura is a LiveKit Agents worker in Python with a Synthesia interactive avatar. Deepgram handles speech, and Gemini Flash decides what to do. Aura reads what's on screen and drives the page through LiveKit data messages. The picture and the products are prepared in the background while you talk, so the wait after "design it" is short.
I built it solo, using Base44, Cursor and Claude.
Challenges we ran into
- Speed. A design first took over a minute. We now shop and draw the picture in the background while you're still talking, so a prepared room shows up in seconds.
- Honest trust. We caught a bug where a permission error was shown as "Blocked." Now "Blocked" only appears for the real block codes. Anything else says the check couldn't run.
- Real products, right category. Searches for a tree returned tree accessories, so we added per-category filters.
- Voice driving a web page. Browsers don't let a page open the file picker by itself, so Aura makes the upload button glow instead. Aura also confirms each change on screen before saying it worked.
Accomplishments that we're proud of
- The whole flow works by voice, from "new room" to the signature.
- One signature pays four or five stores in the Visa sandbox, with each store's checks visible on the receipt.
- Three live attacks are blocked before they ever reach Visa.
- A downloadable trust receipt shows every item, why it was chosen, its checks, the signed approval and Visa's transaction IDs.
What we learned
The hard part of AI shopping isn't paying. It's proving consent. Once the shopper signs exactly what they want, and every store can check the agent, an AI agent becomes something a store can accept.
What's next
- Real stores running the verification on their own side.
- Visa tokens instead of test cards, and agent keys registered in Visa's directory.
- Charging the card when items ship.
- Delivery tracking, plus more spaces: event venues, offices and classrooms.
Notes for judges
- Payments run in the Visa Acceptance sandbox with a test card, so no real money moves.
- The stores are simulated: their payments run through one sandbox merchant account, labeled with each store's name.
- The app repo's first commit is Base44's starter template. All project code was written during LA Hacks.
Built With
- base44
- deepgram
- gemini
- javascript
- livekit
- python
- react
- serpapi
- synthesia
- visa
- visa-acceptance
Log in or sign up for Devpost to join the conversation.