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
- User types a material spec (e.g. "aluminum cans 355mL · North America · 40 truckloads").
- OpenAI brainstorms three plausible supplier/marketplace pages most likely to expose live pricing.
- TinyFish scrapes those three pages in parallel via browser automation, extracting
{ supplier, price, MOQ, lead time, currency, source URL }. - The agent normalizes units & currencies, identifies the best-priced quote, and writes a human summary.
- Senso ingests the full cited quote sheet into the user's company knowledge base — every price tied back to its source URL, permanent record.
- 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.
- 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-minifor 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: 300sto absorb the longest TinyFish runs). - Skills: Public skill published at
/quote-hunterfor 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: 300son 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
- express.js
- ioredis
- node.js
- openai
- redis
- senso
- shipables-dev
- tinyfish
- typescript
- vercel
- zod
Log in or sign up for Devpost to join the conversation.