Engineering Lab 06
Scaling dozens of documents through one route system
Question: Can a large indexed documentation library grow without creating a custom React page for every document?
Finding: The current documentation system renders dozens of MDX guides and topic hubs through one dynamic route and one shared content model.
Evidence source
What this note is grounded in
These labels identify the implementation or verification surface used for the observation. They are not a claim that the result generalizes to every website.
Dynamic docs route
Taxonomy-driven hubs
A large content library becomes expensive when every new page requires a new implementation.
The current documentation architecture is designed to make the opposite true.
A new technical guide should primarily be an editorial task.
The route, metadata, schema, navigation, sitemap behavior, and page layout should already know what to do with it.
The source documents
Individual guides live as MDX files.
Each file carries structured frontmatter for fields such as slug, title, description, category, order, and tags.
The body stays readable as a document.
That lets the editorial source remain much simpler than the application rendering it.
The loader creates the document model
A shared loader reads the MDX directory, parses frontmatter, resolves taxonomy information, attaches modification dates, and returns a predictable document object.
The route does not have to understand the filesystem details.
It asks for a document by slug or asks for the complete collection.
That separation is useful because the same collection can power several systems.
One route handles leaves and hubs
The documentation uses a dynamic /docs/[slug] route.
That route can resolve the slug in two ways.
If it matches a topic category, the route renders a category hub.
If it matches a document, it renders a technical article.
The same route therefore supports the editorial hierarchy without adding a separate React page for every topic.
Static params turn the content inventory into routes
During the build, the route generates static parameters for both documents and category hubs.
That gives Next.js the route inventory ahead of time.
The pages can be generated as production HTML instead of waiting for a browser request to construct the content.
This is a good fit for documentation because the material changes through deployments, not every second.
Taxonomy is data instead of markup
The six topic hubs are defined in a taxonomy file.
The taxonomy describes:
- public category name
- accepted aliases
- description
- editorial introduction
- featured documents
- service pathway
- proof pathway
The UI reads that configuration rather than hard-coding six separate category pages.
That means changing the editorial structure does not require duplicating page templates.
Navigation follows the same source
The sidebar, category inventory, previous and next navigation, related-document logic, and root docs page all use the same document collection.
The page count can grow without manually editing a master HTML list.
That is important because manual indexes become stale quickly.
Sitemap behavior follows the inventory too
The sitemap reads the documentation collection and taxonomy.
A new valid guide can therefore become a route and a sitemap entry from the same source.
That reduces the chance that a page exists publicly but is forgotten in the search inventory.
The build checks the editorial contract
Scaling content also creates quality risk.
The documentation audit checks the things that become harder to notice as the page count grows:
- duplicate slugs
- duplicate titles
- duplicate descriptions
- unknown categories
- broken documentation links
- missing structural fields
- accidental body H1 elements
- extremely thin pages
- invalid featured references
The system also enforces the house rule against em dashes.
The point is not the punctuation rule itself.
The point is that editorial conventions become executable as the library grows.
What this architecture does not solve
A scalable route system can make it dangerously easy to publish weak pages.
Technical scalability is not editorial permission.
The repository can generate hundreds of URLs, but the editorial standard still requires each page to own a distinct question and carry enough substance to deserve indexing.
That is why the taxonomy and audit exist alongside the loader.
Why this is useful beyond documentation
The same architecture appears in service pages, location systems, portfolio entries, and article libraries.
Repeated content types benefit from a shared renderer and structured source.
The route should encode what is common.
The content record should encode what is unique.
That is the core idea behind dynamic route families instead of copied pages.
Related documentation
Go from the observation to the standard
The connectrader MDX content standard
How we structure long-form website content so writers can work in readable documents while the application still gets reliable metadata, routing, images, schema, and build-time validation.
Why we build route families instead of copying pages
How one tested route template can power services, locations, articles, products, case studies, and documentation without turning every new page into a new maintenance problem.
How an MDX file becomes a production page
A step-by-step look at the path from a plain MDX file in the repository to a static route with metadata, schema, navigation, sitemap coverage, and a deployable production artifact.