Inspiration

Procurement teams at regulated manufacturers — breweries, nutritional supplement brands, advanced materials buyers — still source the same way they did in 2005: email five distributors, wait three days, manually compile a spreadsheet, miss the price window. Meanwhile every B2B marketplace on the internet has live pricing if you know where to look.

We wanted to know: what if a single agent could do that pricing run, every time, with full citations, and compound the answers into the buyer's institutional memory?

What it does

  1. User types a material spec (e.g. "aluminum cans 355mL · North America · 40 truckloads").
  2. OpenAI brainstorms three plausible supplier/marketplace pages most likely to expose live pricing.
  3. TinyFish scrapes those three pages in parallel via browser automation, extracting { supplier, price, MOQ, lead time, currency, source URL }.
  4. The agent normalizes units & currencies, identifies the best-priced quote, and writes a human summary.
  5. Senso ingests the full cited quote sheet into the user's company knowledge base — every price tied back to its source URL, permanent record.
  6. Redis Cloud caches the entire sheet under a 6-hour TTL. Repeat lookups for the same spec resolve in ~50ms instead of ~5 minutes — a 1000× speedup that makes the agent feel alive on demo day.
  7. The result renders as a polished quote sheet: best-quote hero card, full supplier table with clickable source links, summary callout, sponsor metadata footer, and a hidden raw-JSON toggle.

Every quote is cited to source. Every lookup compounds the knowledge base. Every repeat is free and instant.

How we built it

  • Frontend: single-file Express server with inline HTML (no build step), styled in the Elevated Signals dark/green brand system.
  • Agent loop: OpenAI gpt-4o-mini for candidate URL brainstorming, validated through a Zod schema. Falls back to deterministic B2B-marketplace URLs (Alibaba / GlobalSources / Made-in-China) if the LLM response fails parsing.
  • Browser automation: TinyFish runs three parallel scrape jobs against agent-friendly B2B marketplaces. We deliberately avoid Grainger / Amazon / Walmart — aggressive bot detection makes them dead-end.
  • Cache + provenance: Redis Cloud holds the full QuoteSheet JSON, keyed by normalized material:region:volume. Senso owns the durable provenance layer with a sharable cited.md URL.
  • Deployment: Vercel serverless (Pro maxDuration: 300s to absorb the longest TinyFish runs).
  • Skills: Public skill published at /quote-hunter for Shipables.dev — third-party agents can invoke the same workflow.

Sponsor tools used

Tool Role Evidence
TinyFish Live browser scraping of supplier portals Three parallel scrape jobs per fresh hunt
Senso Ingest of cited quote sheets into the org's company KB Every successful run returns a app.senso.ai/... cited.md URL
Redis Cloud 6-hour quote cache with 1000× speedup demonstration Fresh hunt 308s → cached 313ms
Shipables.dev Public skill at quote-hunter/ discoverable to other agents Skill published in repo

Challenges we ran into

  • Non-deterministic agent output. The same query returns different supplier candidates each run — sometimes 3 priced quotes, sometimes 1 request-quote-only page. Solved with caching: once a strong run lands, judges (and customers) always see the strong result.
  • Bot detection. Our first candidate set hit Grainger and Amazon and got CAPTCHA-walled. We rewrote the prompt to bias toward B2B marketplaces that allow agents — real-world lesson about which corners of the web are actually agent-accessible.
  • Serverless timeouts. A fresh hunt can take 5+ minutes. Vercel's default 10s timeout would kill it. Solved with maxDuration: 300s on Pro and aggressive Redis caching so the demo path is never cold.
  • Two cache layers. API and agent each had their own cache — redundant but not broken. Logged for cleanup.

Accomplishments that we're proud of

  • End-to-end agent shipped in one session: brainstorm → scrape → normalize → cache → publish → render.
  • 1000× cache speedup on repeat lookups — the actual money shot of the demo.
  • Every quote cited to source URL. No black-box AI.
  • Live production URL with all four sponsor tools wired and verified.
  • Polished UI that doesn't look like a hackathon project.

What we learned

  • LLM-driven URL brainstorming + browser-agent scraping is real, but only works against the corners of the web that haven't built bot defenses. The agent-accessible internet is smaller than it looks.
  • Redis caching on autonomous agents is structurally important, not an optimization. Without it, every lookup costs minutes and dollars; with it, the agent feels alive.
  • Provenance (Senso cited.md) is what turns "AI guessing" into "AI working" in regulated industries. Buyers don't trust prices without sources.

What's next for QuoteHunter

  • MDIP integration. QuoteHunter plugs straight into Elevated Signals' Material Data Intelligence Platform as the autonomous quote engine — every regulated-manufacturer customer becomes a live buyer.
  • Volume-aware quoting. Right now we accept volume as a hint to TinyFish; next we want LLM-driven volume math to compute negotiation walk-away prices.
  • Multi-region currency arbitrage. Same material, different regions, real FX-aware spread analysis.
  • Notification rails. Daily watchlist that pings Slack when a tracked material's best quote moves more than X%.
  • Direct supplier outreach. Once we have the cited quotes, the next step is autonomous RFQ via email — close the loop from "what should I pay" to "here's a signed PO."

Try it

🔗 https://quote-hunter.vercel.app

Try aluminum cans 355mL · North America · 40 truckloads for a cached instant demo. Or try a fresh material — PET preforms 500mL, stretch hood film, corrugated boxes — to watch the agent run live (give it 3-5 minutes).

Built With

Share this project:

Updates