Customer Portals & Self-Service
Customer-facing portals — accounts, support, knowledge, status — bundled and roll-your-own.
For the support / live-chat side see Customer Support and Helpdesk & Ticketing. For status pages see Status Pages. For knowledge bases / docs see Documentation and Self-Hosted Notes & Wikis.
What "customer portal" means
Three overlapping things:
- Account portal — login, plan / billing, invoices, team / users. Stripe Customer Portal is usually 80% of this.
- Support portal — open / view tickets, search KB, talk to support.
- Community portal — forum, requests / votes, customer-to-customer discussion.
Most teams build a thin wrapper around 2–3 vendors that each handle one of these.
Account / billing portal
- ★ Stripe Customer Portal — drop-in; subscriptions, invoices, payment-method updates. Free with Stripe. See Subscriptions & Billing.
- Lemon Squeezy / Polar / Paddle Customer Portals — bundled with each MoR.
- Outseta — bundled auth + billing + CRM portal; paid.
- Roll your own —
/accountpage in your app, mirroring billing data via Stripe webhooks.
Support portal (ticket history, KB search)
- ★ Plain — modern dev-focused; built-in customer portal SDK; free tier. See Customer Support.
- ★ Chatwoot — has a customer portal feature for ticket history; OSS.
- ★ FreeScout — public portal + KB; OSS.
- Zammad — public ticketing portal; OSS. See Helpdesk & Ticketing.
- HelpScout Docs, Intercom Help Center, Zendesk Guide — bundled with each helpdesk.
- Frappe Helpdesk portal — bundled.
Community / forum portals
- ★ Discourse — the dominant OSS forum; GPLv2; mature. Default for "we want a community."
- ★ Discourse Hub — hosted Discourse; paid.
- Flarum — modern OSS forum; MIT; lighter than Discourse.
- NodeBB — Node-based OSS forum.
- Vanilla Forums — hybrid OSS + commercial.
- Circle — modern paid community platform; popular with creators.
- Mighty Networks, Bettermode (formerly Tribe) — paid.
- GitHub Discussions — free; great for OSS projects' community.
Feedback / roadmap portal
- ★ Featurebase — see Surveys & Feedback; generous free tier.
- Canny — paid.
- Productboard, Aha! — enterprise roadmap portals.
- Frill, Sleekplan, UserJot, Productlane, Upvoty — alternatives.
Knowledge base / help docs
- ★ Outline as a public KB — see Self-Hosted Notes & Wikis.
- BookStack — public KB option.
- Mintlify, Fumadocs, Starlight, GitBook — see Documentation.
- HelpKit — Notion-as-help-center; paid.
- Document360 — paid help-center platform.
Customer dashboards (B2B SaaS-style)
- ★ Plain — purpose-built B2B customer portal SDK.
- Dock — B2B mutual action plans / sales rooms; paid.
- Aligned, Recapped, Pocus — same niche; paid.
- Outline + a customer-folder-per-account — DIY pattern.
- Notion shared pages — what most early-stage SaaS actually use.
Status pages (also customer-facing)
- See Status Pages — Statuspage / Better Stack / Instatus / OSS Cachet / Atlassian Statuspage.
Auth + account scaffolding
- ★ Better Auth / Clerk / Supabase / Auth.js — see Auth. Most "customer portal" routes are auth + a few CRUD screens.
- Outseta / MemberStack / MemberSpace — bundled auth + billing + member-portal services; paid.
Patterns to know
- Don't build it from scratch. Stripe Customer Portal + a
/accountpage + your helpdesk's portal covers most needs. - Single sign-on across portals. Ship one auth, route to: app, billing, support, community, status. Customers hate four logins.
- Public-by-default KB. Behind login = nobody finds it via search.
- Branded > generic. A custom domain (
help.yourdomain.com,community.yourdomain.com) is worth the DNS work. - Don't build a community before you have one. A locked Discourse with three posts is a graveyard.
Pick this if…
- Default account portal: Stripe Customer Portal + your auth.
- Default support portal, OSS: Chatwoot or FreeScout (bundled with the helpdesk).
- Default support portal, modern B2B: Plain.
- Default community: Discourse.
- Lighter community: Flarum or GitHub Discussions.
- Public KB: Outline (Notion-shape) or Mintlify (docs-as-code).
- Feedback / roadmap: Featurebase.
- B2B customer-success rooms: Dock or Aligned (paid).