The member portal
How do I give my customers a logged-in home?
What is dashboard configuration versus framework code, stated honestly — plus how members arrive, what they can self-serve, and how to advertise it.
Typical effort: 20 minutes
The recipe — paste this to your AI
# Recipe — the member portal (`/m/<portalSlug>`): what it is, what you can change, and where
The member portal is the logged-in surface your CUSTOMERS see — account, courses, events,
orders, wallet, the AI coach — at `/m/<your-portal-slug>`. It is framework code end-to-end,
and this recipe exists because the skin recipe warns (correctly) that a token reskin does
**not** touch it, and then nothing said what does. Here's the honest map.
## The portal is configured in the DASHBOARD, not in this repo
| Want to change | Where |
|---|---|
| Portal name, slug, branding, member-facing look | Dashboard → **Settings → Member portal** (per-org, live) |
| Which capabilities members get (courses, wallet, events…) | Dashboard portal configuration — capability flags, per-org |
| Member permissions | Backend roles; the pages gate themselves via the member session |
| The portal PAGES themselves | Framework (`app/m/[portalSlug]/**`) — do NOT edit; changes belong upstream |
The portal reads its branding live from your org (the member bootstrap call), so dashboard
changes appear without a deploy. This is deliberate: agencies run MANY portals from one
codebase, so the portal's identity is data, not code.
## What IS yours in this repo (the lanes that touch the portal)
1. **Advertise it.** The portal is invisible until you link it. Add it to your nav or a page:
`site.config.ts → marketing.nav` → `{ label: 'Members', href: '/m/your-portal-slug' }`, or
build a marketing page in your own `app/` segment that explains membership and links in.
2. **Feed it.** Members see YOUR published events, courses, and content — the "customization"
that matters most is dashboard content, not CSS.
3. **The signup path.** Public pages (games score-save, event entries, member signup) create
members in your org — see `docs/prompts/customize-the-games.md` for the arcade funnel.
## What to do when you genuinely need a portal change
A layout/feature change to portal pages is an UPSTREAM feature request, not a site edit —
editing `app/m/**` in your clone forks framework files and costs you the upgrade path
(`docs/modify.md` explains the trade). Ask for it; every site then inherits it.
Source of truth
This recipe ships inside the template as docs/prompts/customize-the-member-portal.md — this page renders that exact file. The repository is always the newest version: https://github.com/srisenmay/bringthefront-template. Clone the template and you get every recipe locally, versioned with the release you are on.