Paste any company URL and Forge turns their live site into a tailored, sales-ready proof-of-concept in seconds: clean structured data, an account-fit read, recommended products, and a build-vs-buy story — all powered by Firecrawl.
Given a URL, Forge runs a real pipeline:
- Map the site (
firecrawl.map) to discover its pages. - Rank + scrape the most diagnostic pages to clean markdown (
firecrawl.batchScrape), deepening adaptively until there's enough context. - Classify the business into one of six verticals (B2B SaaS, e-commerce, marketplace, media, fintech, local) — or a safe general fallback when it isn't sure.
- Extract a vertical-specific schema with
firecrawl.scrapejson mode (the current structured-extraction path). - Run the POC — detect the prospect's actual use case from business-model signals and execute it live:
- Data/enrichment platforms → resolve one of their own customers with
firecrawl.searchand build a live enrichment record of that company. - SaaS with docs → chunk their real docs into RAG-ready segments with token counts.
- Commerce / fintech / media / local → present the extraction as the monitoring payload it is. Every demo ships the exact reproducible API call behind it, plus an input to rerun it on any domain.
- Data/enrichment platforms → resolve one of their own customers with
- Synthesize an account-intelligence panel and a transparent 0–10 fit score.
- Compute a conservative, editable build-vs-buy value story.
Results stream in live — the clean data lands first, then the rest.
npm install
cp .env.example .env.local # add a Firecrawl key (optional)
npm run devOpen http://localhost:3000. The sample gallery works with no key. To run live on any URL, add a Firecrawl key — server-side via FIRECRAWL_API_KEY, or paste one in the UI (stored only in your browser; grab a free key at firecrawl.dev).
| Variable | Purpose | Default |
|---|---|---|
FIRECRAWL_API_KEY |
Server key for live runs | — (a UI key also works) |
SYNTH_PROVIDER |
firecrawl (json mode) or claude |
firecrawl |
ANTHROPIC_API_KEY |
Only if SYNTH_PROVIDER=claude |
— |
DAILY_CREDIT_CEILING |
Pause live runs after N credits/day | 800 |
RATE_LIMIT_PER_MIN |
Per-IP runs per minute | 5 |
ALLOW_AGENT_FALLBACK |
Use the FIRE-1 agent if basic scraping fails (beta) | false |
Forge is built to run on Firecrawl's free tier. Results are cached per URL, repeat scrapes reuse Firecrawl's maxAge cache, adaptive depth is capped, and a per-IP rate limit plus a daily credit ceiling prevent runaway spend. The sample gallery is fully static — zero API calls.
By default synthesis runs entirely through Firecrawl's json mode (one key, no separate LLM bill). Set SYNTH_PROVIDER=claude to swap in a model for sharper copy.
src/lib/firecrawl/ client, map, scrape (basic-first → json mode → guarded agent fallback)
src/lib/pipeline/ rank → classify → context-check → extract → synthesize → score → orchestrate (streaming)
src/lib/verticals.ts six vertical schemas + general fallback
src/app/api/generate SSE streaming endpoint
src/components/ streaming UI + the 4-part result
Deploys to Vercel with no extra config. Set FIRECRAWL_API_KEY (and any of the optional vars above) in the project's environment variables.
- PQL finder — surface companies whose developers already use Firecrawl on side projects, and feed those accounts straight into this generator.
- Demand engine — mine how teams actually use Firecrawl across GitHub and community to inform positioning and roadmap.