Inspiration

Online shopping is fundamentally misaligned with user incentives. Sites like Amazon are ad-riddled minefields of sponsored or boosted products. Agentic chat-style interfaces for shopping seem user-aligned, but easily fall into AI-optimized SEO basins.

Tabletop is a vendor-agnostic shopping canvas to help YOU find what you truly want.

What it does

Tabletop aggregates products & reviews across various shopping sites (Amazon, Best Buy, etc.) with a Chrome extension. Click the extension and your open product pages land on the table. The same product from different stores merges into one card that shows what you'd actually pay at each store, including shipping, fees and tax.

You specify what axes matter to you in natural language. For example, "comfortable for glasses", "reliable", or "under $450", and the scoring updates accordingly. A value map plots price against how well each product fits your decision criteria. To score those criteria, decision models analyze the manual, real owner reviews (about 28,400 of them).

Tabletop is also a multiplayer experience, because shopping isn't always about just YOUR incentives.

Imagine you're shopping for a table and you care about longevity, but your partner cares about wood quality. You can specify both factors and plot out the decision picture in real time.

When you're ready to buy, an agent navigates to the vendor and buys it for you. You can also do limit orders, so agents can wait for discounts and buy the products you want when they dip.

How we built it

The interface is a React and TypeScript canvas built on our own component library, re-paint. We gave it a paper look: cards are taped down, merged cards are clipped together, and product photos are cut out into stickers right in the browser. Behind it is a Hono server with live sync. Every change, whether it comes from a drag or from the AI, goes through the same operation layer, so the AI can't do anything you can't undo.

Claude scores each criterion (streaming results onto the map as it writes), answers questions and does web research. A fast decision model, Jev, matches listings across stores in about 100 ms. Any quote a model produces is checked word for word against its source before we show it.

For data, we researched 85 products ahead of time under a strict sourcing rulebook and crawled 157 stores. Products outside that set get their specs and reviews read live from their own pages. Checkout runs against three demo stores we built with real quote and checkout APIs, in test mode.

Challenges we ran into

Quality data was harder to get. We were paywalled; one aggregator silently rescaled reviewers' grades, and several products we picked had already been discontinued.

The models also caused subtle trouble with occasional hallucination. A formatting quirk made scores disappear; and a prompt merged criteria that should have stayed separate.

Undo was tricky too: undoing while scores were still streaming let stale results overwrite restored ones, so we rebuilt it to keep whatever the AI had finished since. And deduplicating across stores took care, since "WH-1000XM6" and "WH1000XM6" are the same product while the XM5 and XM6 are not.

Accomplishments that we're proud of

Tabletop helps you cut through the ad-riddled hellscape of modern online shopping, and see true cost estimates corresponded with review data.

We also tested our own live data against the products we checked by hand: owner failure rates came within 2 percentage points, and we cut research cost by 83%, to about 2 cents a question.

And the store with the lowest sticker price but a $14.99 "service & handling" fee loses to the honest one, before you ever reach checkout.

What we learned

Vendors are very unfriendly to scraping.

What's next for Tabletop

We're going to connect it to Visa Intelligent Commerce. we also want to pre-research a database of all products and share the result with every shopper, and to suggest new products only when they beat everything on your table on both price and fit.

Built With

Share this project:

Updates

Submission history