Most "free dev tools" sites I've watched grow either stall at 3 tools β because every new one becomes a 4-hour yak-shaving session of routing, metadata, and SEO β or they explode into 50 separate repos that no human can maintain. I wanted neither. I wanted one Next.js App Router project with 500+ tools, served fast, indexed cleanly, and shippable from a single git push . Today there are 523 tools live. Here's the architecture, the boilerplate, and the parts that broke. The shape The whole system is five places: app/(tools)/<slug>/page.tsx β one tiny route file per tool components/tools/<Name>.tsx β actual tool UI and logic lib/tool-routes/<category>.ts β 19 category files, each exports a typed array lib/tool-routes/index.ts β combines them into a single allTools lib/tool-seo.ts β generateToolMetadata() is the one source of truth app/sitemap.ts and public/llms.txt both iterate over allTools at build time. Every new tool touches three places: a registry entry, a route file, and a component.β¦