VendorScout is a TinyFish-powered procurement assistant built for the TinyFish $2M Pre-Accelerator Hackathon. It launches live browser automations against multiple vendor sites, searches for a product, and turns the results into a buyer-friendly comparison dashboard.
- It performs real work on the live web instead of wrapping a static dataset.
- It uses multi-step browser automation: navigation, pop-up handling, site search, and extraction.
- It solves a business workflow buyers and procurement teams already spend time on manually.
- It produces a clean demo in under 3 minutes.
- Enter a product name or SKU.
- Paste at least two vendor URLs.
- Launch TinyFish runs against each site.
- Poll status until the structured results come back.
- Compare the live offers in one view and export CSV.
app.py: lightweight Python web server and API routestinyfish_client.py: TinyFish API wrapper using the official HTTP endpointsworkflow.py: prompt construction and result normalizationstatic/: frontend assetstests/: small unit tests for prompt and parsing logic
- Copy
.env.exampleto.env - Set
TINYFISH_API_KEYin.env - Start the app:
python3 app.py- Open
http://localhost:8000
TINYFISH_API_KEY: requiredTINYFISH_BASE_URL: optional, defaults tohttps://agent.tinyfish.aiPORT: optional, defaults to8000
Use this for a fast contest demo:
- Product:
Sony WH-1000XM5 - Vendors:
https://www.bestbuy.com/https://www.target.com/https://www.bhphotovideo.com/
- Buyer notes:
Prefer in-stock listings and mention shipping timing if visible.
Demo flow:
- Explain the problem: buyer ops teams manually check multiple supplier sites.
- Start a scan from the dashboard.
- Show that each run is independent and live.
- Wait for completed results and point out the cheapest vendor.
- Export the CSV as the handoff artifact a buyer could use.
- Record a raw 2-3 minute demo of the app doing live work on real vendor sites.
- Post the demo publicly on X and tag
@Tiny_fish. - Submit the HackerEarth project page with:
- product overview
- GitHub repo link
- X post link
- short problem and solution write-up
- The app defaults to
stealthbrowser profile because live retail websites often use anti-bot measures. - If you want different geography, provide a country code like
USin the form. - TinyFish results can vary slightly by site, so the app normalizes structured output before rendering it.