Platform build Live · 60 portal users · 45 chapters

YPR Team Portal

One private workspace for a national chapter network: propose, approve, train, order, message and plan without leaving the website YPR already owns.

Young People in Recovery runs 45 published chapter pages across the country with a lean national staff. The Team Portal is the private side of youngpeopleinrecovery.org where chapter leads propose edits to their public page, coordinators approve them, staff publish resources and monthly updates, everyone takes YPR Trainings and earns certificates, supplies are ordered from the printer, the team calendar and encrypted messages live, and the yearly National All-Recovery Meeting rotation is scheduled. It replaced an Elementor link page, a Google Sheet, email threads and shared drives, and it is built into the theme, so there is nothing extra to log in to and no monthly software fees.

SectorRecovery nonprofit · Internal platform
RoleDigital Clarity Partner
EngagementLaunched September 2026 · ongoing
youngpeopleinrecovery.org/portal
YPR Team Portal, homepage
Roles, approvals, audit trail
60 users · 45 chapters
ClientYPR Team Portal
SectorRecovery nonprofit · Internal platform
ScopeCustom WordPress platform: theme-level modules, 20+ portal screens, 11 custom tables, Google sign-in
RoleDigital Clarity Partner
Edit → approve workflowYPR Trainings + certificatesSupply requisitionsEncrypted messagesNARM hosting rotationDev Log
Product designPlatform buildRoles & permissionsApproval workflowTraining LMSSuppliesCalendarHosting & supportProduct designPlatform buildRoles & permissionsApproval workflowTraining LMSSuppliesCalendarHosting & support

A 45-chapter network ran on email threads, shared drives and a Google Sheet. We replaced all of it with one portal inside the website YPR already owns.

The challenge

Before the portal, running the chapter network meant juggling tools that did not talk to each other. Chapter leads emailed page changes to staff. Trainings lived on a separate learning platform. Business cards and curriculum were ordered by email to the printer. The team calendar was a Google Calendar nobody owned. The National All-Recovery Meeting host rotation was a Google Sheet. The old team page at team.youngpeopleinrecovery.org was a 2024 Elementor site with 43 links on it.

The hard part was not any single tool. It was trust: a chapter lead must never be able to publish to the public site by accident, a coordinator should only see their own chapters, a Portal Admin should run the whole thing without ever touching wp-admin, and every sign-in, approval and view needed a record. People in recovery are on both ends of this system, so access, logging and a signed acknowledgement at every sign-in were requirements, not extras.

The approach

One journey, applied to YPR Team Portal.

01

Design the system before the screens

We ran a six-specialist design pass (data model, roles, workflow, portal, activity log, security) with an adversarial critic, and settled the rules first: chapters move into a real post type, proposed edits are a separate record, and the only code that writes to a live chapter page is the approve step. One naming convention, one activity table, one permission matrix.

ArchitecturePermission matrixData model
02

Build the edit → approve loop first

Chapter content was migrated out of hard-coded templates into a chapter post type with a seeded content blob and map data. Leads edit their page section by section and submit a proposal; coordinators see a field-level diff and approve, request changes or reject. Stale proposals are refused rather than silently overwriting newer content, uploads are validated and stripped of EXIF data, and every decision is logged and emailed.

Proposals & diffsSection locksNotifications
03

Add the tools the team paid for or did by hand

YPR Trainings moved the 10 official courses in from RecoveryEdX, with lesson progression, required videos, quizzes and emailed PDF certificates that anyone can verify. Supplies became an internal requisition with PDF proofs sent to the printer. The Team Calendar gained categories, series, reminders and a built Google sync. Messages are encrypted at rest. The NARM screen replaced the hosting spreadsheet with a yearly rotation that books the calendar and sends invites. People unified the WordPress user and the portal record into one directory with history.

Trainings LMSSuppliesCalendarMessagesNARMPeople
04

Run it in the open

Admins can preview the portal as any lead or coordinator, read-only. A Dev Log on the site records every change, including an hourly file-fingerprint scan that flags edits nobody logged. A written handover lets any developer, or any Claude session, deploy safely with a diff, a backup folder and a log entry. An Asana-style Projects module is built and in testing on the local copy.

Preview asDev LogHandoverProjects (next)
What’s inside

Everything a chapter network needs, behind one sign-in.

Role-aware dashboard

Leads, coordinators, Portal Admins and administrators each land on their own dashboard with KPIs, quick links, the announcement and what needs them next.

My Chapter proposals

Leads edit their public chapter page section by section and submit for review. The live page never changes until someone with the right role approves.

Pending Changes

Field-level before/after diffs with approve, request changes and reject, scoped so coordinators only review the chapters they coordinate.

YPR Trainings

The 10 official courses with linear or free progression, required videos, minimum times, 80% quizzes, a learner report and PDF certificates verifiable at /verify-certificate/.

Supplies

Curriculum, business cards and custom print ordered from a catalog, approved by a coordinator, proofed as a PDF and emailed to the printer. No payment, no spreadsheet.

Team Calendar

Month, week, day and list views, categories, repeating series, reminders, digests, .ics export and a Google Calendar sync ready to connect.

Messages & notifications

Direct and broadcast messages encrypted in the database, plus a bell with an email mirror through Brevo and per-user opt-outs.

People & Info Tree

One directory of every account with role, status, chapters and membership history, and an admin tree to add chapters, assign leaders, lock sections and edit the acknowledgement notice.

NARM hosting

Every lead hosts one weekly National All-Recovery Meeting a year. Claiming a date books the calendar, assigns a co-host and sends .ics invites and reminders.

By the numbers

Built for a national team, measured in real use.

60
Portal users across 5 roles
45
Published chapter pages
10
Courses with certificates
20+
Portal screens
11
Custom database tables
38,000
Lines of theme PHP

Counts from the October 13, 2026 inventory of the live site. The portal launched September 23, 2026, three weeks after the rebuilt youngpeopleinrecovery.org went live on September 3.

See it live

The whole homepage, top to bottom.

youngpeopleinrecovery.org/portal
YPR Team Portal, full homepage
Start with clarity

Want work like this?