Reusable SaaS foundation extracted from the Contextter v5 platform patterns. It keeps the platform mechanisms and intentionally leaves the SEO product code behind.
This project is MIT licensed and intended as a practical starting point for new SaaS products. It is safe to fork, template or adapt. Keep secrets, production domains, customer data and product-specific business logic in downstream projects.
- Next.js 16 app shell with Clerk, Convex, Tailwind CSS 4, theme handling and route skeletons
- Public web landing page app
- Documentation app
- Organization, workspace and account settings surfaces
- Convex schema and functions for users, organizations, workspaces, RBAC, settings, feature access and prepaid EUR balance
- Error catalog, public support codes, API error envelopes and runtime helpers
- Runtime-aware logging for server, edge and Convex code
- Feature control catalog and tier evaluation helpers
- Inngest client with a safe starter background job
- Admin control center with user, organization and system-operation starter surfaces
- Customer-safe billing scaffolding: balance ledger, reservations, deposits and provider placeholders
- GitHub Actions CI for install, type-check, lint, tests and build
- SEO features, Brain/RAG, Writer, Optimizer, Site Audit, Keyword Database and crawler code
- Live payment product IDs and provider secrets
- Production-specific Contextter domains, deploy targets and customer data
corepack enable
corepack pnpm install
Copy-Item .env.example .env.local
corepack pnpm dev:appSet the Clerk and Convex variables in .env.local before using authenticated
backend calls.
Run the public and documentation apps separately when needed:
corepack pnpm dev:web
corepack pnpm dev:docsapps/app Next.js SaaS app
apps/web Generic public landing page
apps/docs Generic documentation site
INFRASTRUCTURE_BLUEPRINT.md Hetzner/self-hosting and ops blueprint
packages/db Convex schema and backend functions
packages/errors Error-code catalog and envelopes
packages/feature-control Tier and feature flag catalog
packages/jobs Inngest client and starter functions
packages/logging Server, edge and Convex logging adapters
packages/ui Shared UI utilities and money formatting
- Rename package scope from
@boilerplate/*if needed. - Configure Clerk JWT claims for
orgId,orgRoleandorgSlug. - Create a Convex deployment and run
corepack pnpm --filter @boilerplate/db generate. - Wire Polar or another billing provider into the placeholder checkout routes.
- Replace the starter dashboard copy with product-specific modules.
- Add product tables only after the organization, workspace and billing boundaries are clear.
- Replace the generic web/docs copy with the target product positioning and documentation.
- Wire the admin starter surfaces to live Convex reads and product-specific controls.
- Decide which parts of
INFRASTRUCTURE_BLUEPRINT.mdshould become deployable templates.