I've since rebuilt it from scratch as a proper app. It now indexes 800+ foundries from 61 countries, 14k typefaces, and 1,500 designers. No signup required to browse. No ads, no sales, no commissions — it embeds actual foundry websites in iframes so traffic goes directly to them.
You can browse by carousel, list, virtualized table, force-directed graph (showing relationships between foundries/designers/typefaces), or a 3D globe plotting foundries by location. Filter by classification, variable fonts, trial availability, country, designer, language support, or release era.
Some technical details since this is HN:
- React 19 + Vite + TypeScript + Zustand + Supabase - Three-tier data loading: IndexedDB cache (instant) → Supabase paginated fetch → static JSON fallback. Background staleness check. - @tanstack/react-virtual for carousel and table views across 14k typefaces - Client-side ranked search with related-entity expansion (match a designer → surface their foundries and typefaces) - Graph view: react-force-graph-2d. Globe: react-globe.gl + three.js - 577 of 779 foundry sites allow iframe embedding. Rest fall back to OG images or screenshots.
On the data pipeline: I scrape foundry websites, then use Claude Haiku to extract structured metadata (classifications, designer credits, language support, weights, etc.) from the page content. It's not perfect — some classifications are wrong, some designer credits are incomplete — but it gets me to ~80% and I manually correct from there. The enriched data goes through a build script into static JSON and syncs to Supabase.