Documentation Platform Strategy: The “Premium” Choice
Status: Recommended Date: 2026-01-27 Recommendation: Fumadocs (Self-Hosted Next.js)1. Executive Summary
You asked about Mintlify. While Mintlify is excellent for quick setup, it has two fatal flaws for Certio:- Forced Branding: The Free tier forces a “Powered by Mintlify” badge. Removing it costs $250/month.
- Siloed: It lives outside your Next.js Monorepo, making it harder to share components (like your Pricing Table or Login buttons) with your docs.
apps/docs in your existing monorepo.
2. Comparison Matrix
| Feature | Mintlify (SaaS) | Fumadocs (Next.js Framework) | Docusaurus |
|---|---|---|---|
| Cost | 250/mo (White Label) | $0/mo (White Label) | $0/mo |
| Hosting | Managed | Vercel (Already paying) | Vercel / Netlify |
| Monorepo Fit | ❌ None (External Repo) | ✅ Perfect (apps/docs) | ⚠️ Clunky (Separate Build) |
| Git Sync | ✅ Automated (via GitHub App) | ✅ Automated (via Vercel/CI) | ✅ Automated (via Vercel/CI) |
| Component Reuse | ❌ Hard (Cannot import @certio/ui) | ✅ Native (Import directly from Monorepo) | ⚠️ Hard (Separate Build) |
| Custom UI | Limited (Config only) | Unlimited (It’s just React) | Moderate (Swizzling) |
| Vibe | ”Startup Generic" | "Vercel / Stripe Premium" | "Open Source Generic” |
3. Why Fumadocs?
- Monorepo Native: It lives in
apps/docs. You can runnpm run devand see your Dashboard and Docs side-by-side. - Shared UI: You can import your
@certio/uicomponents (Buttons, Badges) directly into your documentation. - Type-Safe: It uses content collections for robust MDX handling.
- Clean URLs:
docs.getcertio.comvia Vercel Rewrites or a separate project, all managed in the same repo.
4. Implementation Plan (Phase 6)
- Scaffold: Initialize
apps/docsusing the Fumadocs template. - Configure: Set up
docs.getcertio.comdomain. - Content: Migrate any existing notes to MDX.
- Deploy: Push to Vercel as a new Project linked to the same Repo.