MEM Academy
For OrgsClara

Sprint 5 · Module 04 of 7

Module4 min read · 894 words
Not started

Saved on this device · no account needed

04 — Client Impact Dashboard — Product Spec

Audience: Engineering (frontend + Supabase), Product, Account Managers Status: Spec for build. Pair with 05-data-model-and-events.md for schema.

Purpose

Give the client HR sponsor a live, anonymised view of the engagement so they can:

  1. See what's happening this week without waiting for a report.
  2. Spot dropping engagement early and intervene with us.
  3. Show their exec / board the value mid-engagement, not just at Week 12.

Audiences & access

RoleAccess scopeAuth
Client HR sponsorTheir org's cohorts onlyMagic-link email, expires 7d
Client exec sponsorRead-only summary view of their orgMagic-link email, expires 7d
MEM Account ManagerAll client orgs they manageStandard staff auth + RLS by account_mgr_id
MEM Delivery LeadAll cohortsStaff role
MEM AdminAll dataAdmin role

Never accessible: individual line managers within the client org. They get the manager pocket card (Sprint 1 §03) and the W11 debrief — not dashboard access.

Layout (HR sponsor view)

┌─────────────────────────────────────────────────────────────────┐
│  Header: Org name · Cohort · Week N of 12 · Account Mgr contact │
├─────────────────────────────────────────────────────────────────┤
│  ROW 1 — HEADLINE                                               │
│  [SROI Row 1 tile — populated from W12, placeholder until then] │
├─────────────────────────────────────────────────────────────────┤
│  ROW 2 — ENGAGEMENT (live from W2)                              │
│  [Workshop attendance] [Coaching utilisation] [Nudge engagement]│
├─────────────────────────────────────────────────────────────────┤
│  ROW 3 — SENTIMENT & BEHAVIOUR (live from W6, n ≥ 5 only)       │
│  [Confidence delta] [Behavioural deltas] [Pulse response rate]  │
├─────────────────────────────────────────────────────────────────┤
│  ROW 4 — STORIES (curated, anonymised)                          │
│  [2-3 quote cards from coaching, anonymised, coach-approved]    │
├─────────────────────────────────────────────────────────────────┤
│  ROW 5 — WHAT'S NEXT                                            │
│  [Next milestone] [What we need from you] [Download W4/W8/W12]  │
└─────────────────────────────────────────────────────────────────┘

Tile specifications

Row 1 — Headline SROI

  • Source: sroi_rollups table (one row per cohort per snapshot).
  • Display before W12: Placeholder text — "Headline impact will land at Week 12. Track progress in Rows 2-3."
  • Display from W12: Single sentence — "For every £1 invested, this cohort returned £X.XX in value — driven by [top 2 drivers]." Plus link to PDF (Sprint 3 §03).

Row 2 — Engagement (3 tiles)

TileMetricFormulaThreshold
Workshop attendance% of invited who attendedattended / invitedGreen ≥80%, Amber 60-79%, Red <60%
Coaching utilisation% of expected sessions delivereddelivered / (participants × expected_sessions_by_week)Green ≥75%, Amber 50-74%, Red <50%
Nudge engagement% of nudges opened/clickedengaged / sent (last 14d rolling)Green ≥40%, Amber 25-39%, Red <25%

Each tile shows the number + a 6-week sparkline.

Row 3 — Sentiment & Behaviour (3 tiles, n ≥ 5)

TileMetricSourceDisplay rule
Confidence deltaMean change in confidence (pre vs Day-30)Sprint 4 §08 pulse + workshop pre-surveyHidden if n<5; show "+X pts on 0-10 scale"
Behavioural deltasTop 3 self-reported behaviour changesSprint 3 §05 Day-30 pulse Q4-7Bar chart, % who answered yes
Pulse response rate% of eligible who completed pulsecompleted / eligibleShow actual %; informs reliability of above tiles

Anonymisation rule (hard): Any tile drawing from <5 individual responses renders as "Building — needs 5+ responses to display." No exceptions, even if client requests.

Row 4 — Stories

  • 2-3 quote cards. Source: coaching session notes flagged share_anonymised = true AND participant_consent = true.
  • Cards show: quote (≤30 words), role category (e.g. "Frontline manager, retail"), week of engagement.
  • Never: name, exact job title, team name, location more specific than country.
  • Curation: Account Mgr selects from queue; Delivery Lead approves; renders to client dashboard.

Row 5 — What's Next

  • Next scheduled milestone (pulled from W0 calendar).
  • Action list for sponsor (e.g. "Confirm W11 debrief attendees by [date]").
  • Download buttons: Dashboard PDF snapshot (W4, W8, W12).

States

StateWhenDisplay
pre-engagementW-4 to W0Onboarding checklist only; tiles greyed
liveW1 to W12Tiles populate per the W availability above
wrappingW12 to W13Board report banner; retro pending
archivedW14+Read-only; banner: "Engagement complete. Contact your Account Mgr to start the next cohort."

Non-goals (explicit)

  • No real-time chat with coaches.
  • No participant-facing view (participants use the coaching portal, not this dashboard).
  • No comparison to other clients' benchmarks in v1 (industry benchmarks ship in v2).
  • No editable fields — this is a read surface. Edits happen in coach tooling.

Tech notes (for engineering)

  • TanStack Start route: /_authenticated/client/dashboard/$cohortId
  • Magic-link auth for sponsor roles via Supabase Auth signInWithOtp.
  • RLS: cohorts table policy joins on client_org_members for sponsor reads; staff role bypass via has_role(auth.uid(), 'staff').
  • All tiles are server-fn queries (createServerFn), cached 60s.
  • PDF snapshots generated server-side via Puppeteer-alternative compatible with Worker runtime (use HTML→PDF via external service; Puppeteer is banned per server-runtime constraints).

See 05-data-model-and-events.md for schema and event spec.

Continue learning

All sprints

Want to roll this out to your team?

Bring Hybrid Delivery & Dashboard into your organisation.

MEM is a self-serve resource library — your managers and staff work through the modules at their own pace, with the workbooks, runsheets and pocket cards provided. Coach-led delivery is available only for our corporate fitness sessions, not the educational modules. Every funded seat also opens a mirrored free seat for someone leaving prison, with SROI your board can sign off.