Portal feature cost
TechDocs Cost in 2026: Build, Run, and the Freshness Tax
Backstage TechDocs is the documentation-as-code plugin that ships service documentation alongside service code. The build and infrastructure costs are modest. The freshness discipline cost is the line item buyers consistently miss. Here is an honest run-rate breakdown.
Setup cost
$5K-$20K
1-3 engineer-weeks of platform-team time
Monthly hosting
$50-$500
S3 storage + CloudFront egress
Freshness discipline
0.1-0.3 FTE
platform-engineer time, ongoing
What TechDocs Actually Is
TechDocs is the Backstage plugin that integrates documentation-as-code into the developer portal. Documentation lives in repository markdown alongside service code, gets built into static HTML by a CI pipeline (typically using MkDocs with the TechDocs theme), and gets served from object storage with the Backstage UI as the discovery layer. Engineers find the documentation through the Backstage service catalogue rather than through a separate documentation portal.
The architectural pattern matters for cost reasoning. TechDocs is not a documentation product in the way Notion or Confluence is a product; it is a documentation pattern that uses Backstage as the discovery surface and your CI plus object storage as the runtime. That makes the per-document hosting cost extraordinarily low (raw object storage is cheap) and shifts the cost to two other lines: the platform-team work to set up the docs-build CI pipeline and the ongoing discipline to keep the documentation current.
TechDocs is included in the Backstage open-source distribution and ships as a standard plugin on managed Backstage providers (Roadie, Coderpath, and others). There is no separate TechDocs licence; the cost is the platform-team time and the object storage bill.
Setup and Infrastructure Cost Detail
Initial setup runs 1 to 3 engineer-weeks. The work breaks into three roughly equal pieces. First, configuring the TechDocs plugin in your Backstage deployment (registering the docs entity type, configuring the object storage backend, setting up the URL routing). Second, setting up the docs-build CI job (a GitHub Actions, GitLab CI, or equivalent job that runs MkDocs against the repository's docs directory and uploads the generated static HTML to S3). Third, configuring authentication for protected internal documentation (typically the same SSO flow as the rest of Backstage, but the docs-serving layer needs to enforce it).
On a self-hosted Backstage deployment all three pieces are platform-team work. On a managed Backstage provider the first piece is largely done for you (the TechDocs plugin is pre-configured), so setup tends toward the lower end of the range. The CI pipeline work is similar regardless of substrate because the docs-build job runs in your CI, not on the Backstage runtime.
Per-month hosting cost depends on object storage volume and CDN egress. A typical service documentation set runs 10 to 50 MB per service after MkDocs build, so storage for 100 services lands at 1 to 5 GB total. At S3 Standard pricing of $0.023 per GB per month, storage is well under $1 per month. CDN egress dominates: at typical internal-documentation read patterns of 5 to 50 GB per month across the organisation, CloudFront standard egress at $0.085 per GB lands at $0.40 to $4 per month for small organisations and $20 to $300 per month for larger ones. Add the CI pipeline cost (CI compute minutes for the docs-build job, typically 1 to 5 minutes per service per documentation update, which is a rounding error on most CI plans).
Total hosting cost lands in the $50 to $500 per month band for organisations from 50 to 500 services. This is genuinely small relative to almost any other developer-tooling line item; the storage and CDN cost is rarely the binding constraint.
The Freshness Discipline Cost
Documentation freshness is the dominant cost of TechDocs. The failure mode every TechDocs deployment risks: a long tail of service documentation that was authored at service launch and has not been updated since. The services have evolved (new endpoints added, configuration patterns changed, dependencies migrated), the documentation has not. Engineers consulting the documentation find it inaccurate, stop trusting it, fall back to Slack-based questions, and the platform-team effort to set up TechDocs becomes a sunk cost.
Mitigating this requires four things working together. First, a documentation update requirement embedded in the pull-request template for every service (a check that asks the author whether the documentation needs updating, and a default to yes for any non-trivial change). Second, automated freshness scoring (a scorecard rule that flags services whose documentation has not been touched in N months while the service code has changed M times). Third, ownership review (quarterly walk-through of low-scoring documentation with the owning team to either update or accept the lower freshness score). Fourth, structural patterns that minimise documentation drift (auto-generated API reference from code annotations, link-checked internal documentation, deprecation tracking).
The platform-team time to establish and run these patterns is roughly 0.1 to 0.3 FTE ongoing, depending on service count and ambition. At a fully loaded engineer cost of $200,000 to $250,000 per year, that is $20,000 to $75,000 per year of platform-engineer time on TechDocs freshness alone. Most TechDocs deployments under-invest in this line and pay the cost in declining documentation utility within 12 to 18 months of launch.
Migration From Confluence or Notion
Most TechDocs deployments are migrations from an existing wiki-based documentation system rather than greenfield setups. The migration work has three phases. Content conversion: Confluence storage format to markdown, or Notion blocks to markdown, with a manual review tail for content that does not convert cleanly (embedded macros, complex tables, attachments). Redirect strategy: preserving incoming links from internal sources (Slack, runbooks, escalation procedures) to the old documentation URLs by setting up URL redirects or by keeping the old system in archive mode for incoming-link resolution. Ownership migration: Confluence's page-level permissions and Notion's workspace permissions translate awkwardly to TechDocs's repository-level permissions, and some content needs to move to specific repositories to land in the right ownership context.
Most organisations migrate selectively rather than comprehensively. High-value service documentation moves to TechDocs (where the docs-as-code freshness discipline can apply). Low-value historical content stays in the old system, gets archived, or is left to age out. A typical selective migration runs $20,000 to $80,000 in platform-engineer time and 3 to 6 months elapsed; a comprehensive migration of every page can run 2 to 3 times more and is rarely worth the cost.
Three-Year Total Cost Outlook
Cumulative three-year cost at a 100-developer organisation typically lands in the $90,000 to $250,000 band. Year one is dominated by setup ($5,000 to $20,000) and migration ($20,000 to $80,000 if applicable) plus discipline-establishment platform-team work ($30,000 to $80,000). Years two and three steady out at roughly $25,000 to $60,000 per year of ongoing freshness work plus negligible hosting. The hosting cost is a rounding error across the whole three years; the platform-engineer time on freshness is the dominant line item by a wide margin.
For broader context on documentation as one component of platform engineering investment, see the sister site at platformengineeringcost.com/service-catalogue-cost; documentation freshness is a sub-case of the broader catalogue-data-freshness pattern.