Forked from kenziemac7/bb-tools β adds
free-food-beijing, a bilingual free-food finder that scrapes both English and Chinese event platforms for Beijing.
A pnpm monorepo of tools built with Browserbase. Each tool shares a common TypeScript setup and env loading via packages/shared.
cp .env.example .env
# fill in your keys, then:
pnpm install| Variable | Required by |
|---|---|
BROWSERBASE_API_KEY |
all tools |
BROWSERBASE_PROJECT_ID |
competitor-monitoring, craigslist-hunter |
OPENROUTER_API_KEY |
free-food-beijing |
ANTHROPIC_API_KEY |
free-food-sf, competitor-monitoring |
RESEND_API_KEY |
craigslist-hunter |
RECIPIENT_EMAIL |
craigslist-hunter (or pass via --recipient) |
Scans 5 sources across the English and Chinese web to find Beijing events with free food/drinks. Uses Stagehand + OpenRouter (Llama 3.3 70B) for AI-powered extraction, with strict grading to eliminate false positives.
Sources scraped:
| Source | Language | What it covers |
|---|---|---|
| Luma | EN | Tech meetups, product launches, hackathons |
| Eventbrite | EN | Food/drink, business, and tech events in Beijing |
| Meetup | EN | Tech & professional meetups |
| ζ΄»ε¨θ‘ (Huodongxing) | δΈζ | China's largest event platform β tech/internet category |
| θ±η£ (Douban) | δΈζ | Community events, parties, exhibitions |
Features:
- π Bilingual scraping (English + Chinese web)
- π All output in English (Chinese event names auto-translated)
- π Strict 0-100 grading with disqualifier rules (paid food festivals, BYOB, past events)
- π Cross-source deduplication
- π¨ Color-coded confidence levels (π’π΅π‘π )
pnpm free-food-beijingScrapes Luma SF and Eventbrite using Stagehand + Claude to find and rank SF events by likelihood of free food.
pnpm free-food-sfScreenshots competitor pricing pages via a remote Browserbase browser, then sends them to Claude for analysis. Saves a comparison.md and PNGs to screenshots/.
# default competitors: Asana, Linear, Notion
pnpm competitor-monitoring
# custom URLs
pnpm competitor-monitoring -- https://stripe.com/pricing https://paddle.com/pricingSearches Craigslist SF apartments with filters and emails a digest via Resend.
# defaults: zip 94117, 1.5mi radius, 2BR+, under $6000/mo
pnpm craigslist-hunter
# with options
pnpm craigslist-hunter -- --zipcode 94110 --radius 2 --min-beds 1 --max-price 4500 --parking --recipient you@example.com| Flag | Default |
|---|---|
--zipcode |
94117 |
--radius |
1.5 (miles) |
--min-beds |
2 |
--max-price |
6000 |
--parking |
off |
--recipient |
$RECIPIENT_EMAIL |
Searches for the best local ice cream shops in any city using Browserbase web search and fetch.
pnpm ice-cream-bot -- "Austin, TX"
pnpm ice-cream-bot -- "Portland, OR"bb-tools/
βββ .env.example
βββ tsconfig.base.json # shared TS config, extended by each package
βββ pnpm-workspace.yaml
βββ packages/
βββ shared/ # @bb-tools/shared β auto-loads .env, exports requireEnv/getEnv
βββ free-food-beijing/ # π¨π³ NEW β bilingual Beijing free-food finder
βββ free-food-sf/
βββ competitor-monitoring/
βββ craigslist-hunter/
βββ ice-cream-bot/
All packages live in packages/*/src/index.ts and run via tsx β no build step needed.