Static Svelte site: a searchable table and charts of Y Combinator founders across the last eight batches (Winter 2025 → Fall 2026). Currently 1,282 companies / 2,534 founders.
Two sources, both fetched only by scripts/scrape.js — never at build or run time:
- Companies —
yc-oss/api, a daily mirror of YC's directory. - Founders — YC's own
/companies/<slug>pages, which are Inertia-rendered and embed the full company record (founders included) in adata-pageattribute.
ycombinator.com/companies?… is Disallowed in YC's robots.txt and is not touched; the per-company pages it links to are allowed.
Founder avatars and company logos are hot-linked to YC's S3 bucket, where objects are public, immutable and content-addressed. Avatar URLs arrive presigned with a one-hour expiry, so the scraper strips the query string; logo URLs are already bare. Either falls back to an initials tile when absent or dead — 1 of 1,282 logos currently 403s.
npm run scrape # all eight batches, ~9 min
npm run scrape fall-2026 # one batchWrites static/data/<batch>.json (table rows) and static/data/summary.json (precomputed per-batch aggregates — the only input the charts need, so no page ever loads the full 1.5 MB dataset).
To follow a new batch, add its slug to BATCHES in scripts/scrape.js.
npm install
npm run dev
npm run build && npm run previewOutput is fully prerendered to build/ — deployable to any static host.