Community
HearPeers Community · March 2026
Connections
RBAC Cross-Analysis
& UX Recommendations
Gunther Eisen (Gonçalo Ferraz)
Lincoln Alves — Coopers Digital
goncalo.ferraz@coopers.digital
13 slides
Roles & visibility · Task corrections
Production gaps · 5 UX recommendations
23 design changes · 9 open questions
Corrections
4
Recommendations
5
Suggestions
5
Open questions
9
Context
Objective & Methodology
How this analysis was conducted and what it aims to define
Objective
Identify all user tasks the Connections page should offer — per role — for better UX in the redesigned platform.
The Connections page is the primary surface for user relationships. Defining its tasks correctly shapes the entire social layer of HearPeers Community.
5-step methodology
1
Tasks implicit in the mockups
Identified every user task implied by the UI designs MED-EL sent
2
Tasks available in the live platform
Audited the current Connections page for what is actually accessible today
3
Cross-analysis with RBAC permissions
Mapped tasks against the actual role permissions in the current codebase
4
Business rules
Understood platform rules, role hierarchy, and community policies that constrain task availability
5
Task definition for the redesign
Defined which tasks the redesigned Connections page should expose per role for the best user experience
Context
Role badges shown in the UI
What each badge label means technically — and who that person is
Member
Candidate / Caregiver
member
Self-registered user — newly diagnosed, candidate for implant, or caregiver
MED-EL User
Recipient
medel_user
Confirmed cochlear implant recipient
Mentor
Mentor
mentor
Trained volunteer peer mentor
MED-EL
Area Manager
area_manager
Regional manager — one per geographic area. Badge reads "MED-EL" in the UI.
Admin
Super Admin
super_admin
Highest-privilege community governance role
Open question Q4: The Area Manager badge reads "MED-EL" — the company name, not the role. This is not meaningful to end users. Should it be renamed "Area Manager" or a community-friendly equivalent? → Ask Anna / Julia.
Section 1 — Connections
Who can see and connect with whom
Confirmed from can_see_connection_* / add_friend_* capabilities — Lucas Maieski, 2026-03-12. Visibility and connection are symmetrical.
This role… …can see Candidate …Recipient …Mentor …Area Manager …Super Admin
Candidate
Recipient
Mentor
Area Manager
Super Admin
Pattern: Each role can see all roles below it in the hierarchy, plus its own. Candidate sees only Mentors. Area Manager cannot see Super Admin.
Discovery vs. My Connections: This matrix governs browse/search only. An existing connection remains visible in My Connections even if the matrix would not allow discovery — which is why "MED-EL" badges appear in Recipient's My Connections in production.
Correction
Candidate task table — four corrections
Tasks incorrectly marked as unavailable to Candidates after RBAC cross-check
Task Was Corrected Reason
Accept a connection requestadd_friend_* is available to member
Decline a connection requestSame permission scope
Cancel a sent requestAvailable to all roles
Discover / browse community✔†Candidate can browse — restricted to Mentor profiles only
✔† = Limited: Candidate's browse and search scope is restricted to Mentor profiles only. These corrections affect the UI: the Connections page for Candidate must support incoming request actions (accept / decline) and outbound request cancellation.
Production Observation
Area Managers visible in Recipient's My Connections
Explained — and a gap uncovered
Observation

In the production screenshot (Recipient view), several users with the "MED-EL" (Area Manager) badge appear in My Connections — even though Recipients cannot discover or connect with Area Managers through normal browse or search.

Likely explanation: Auto-accept. When the Recipient (or Area Manager) sent a connection request, it was automatically accepted. The platform brief states: "Automatic connection to Area Manager on join — ensures new users have immediate human contact."
Gap identified: Auto-accept is passive — an incoming request gets accepted automatically. There is no evidence of a proactive auto-connection being created when a user joins an area. New users who do not know to send a request get no automatic human contact.
Q1 for Lucas: Is the Area Manager auto-connection on join proactive in the codebase, or only via auto-accept of incoming requests? This determines whether UX-R2 is a new feature or a bug fix.
Recommendation
UX-R1 — Super Admin must not appear for non-Super Admin users
Visibility matrix compliance + closing the invitation loophole
Rationale: The visibility matrix is clear — no role below Super Admin can see or connect with a Super Admin. Super Admin profiles must be filtered out of all Connections surfaces for all roles except Super Admin itself.
Design action
  • Filter Super Admin profiles from My Connections, Discovery grid, and search results for all roles except Super Admin
  • If a Super Admin connection exists via invitation bypass, suppress it visually until the loophole is resolved
Invitation loophole: All roles can send community invitations — only a login check, no capability check. Any role could invite a Super Admin by email and bypass the visibility matrix entirely.
Fix required: Invitation sending should be gated to Mentor+ or Area Manager+. Q3 to confirm with Julia / Alexandre: Should Candidates and Recipients be able to send community invitations at all?
Recommendation
UX-R2 — Area Manager auto-connected to all users in their area
Proactive system-initiated connection · Dedicated "Find Area Manager" path · Permanent card behaviour
Proposed behaviour
  • On onboarding + area assignment → system creates connection proactively (no request needed)
  • Area Manager appears in My Connections from day one
  • Area Manager card CTA: always Chat — never Connect, Pending, or Remove
  • Area Manager card is always visible — cannot be hidden or removed by the user
  • Green circle on profile photo = user is currently online
Online presence: The green online circle should be applied consistently to all connection cards — not just the Area Manager card. Consistency avoids it feeling role-specific.
"Find Area Manager" — dedicated flow
  • Entry point in My Connections tab (not in Discover)
  • User selects country / region from a hierarchical picker
  • Result: one profile — the Area Manager for that area
  • Only available action: Chat (auto-accepted)
  • Fallback: "No Area Manager for this area yet — contact MED-EL for support"
Area Manager profiles must not appear in the general Discovery grid for Candidates and Recipients. The "Find Area Manager" flow is the only intentional path.
Recommendations
UX-R3 & UX-R5 — Profile photo & Home navigation
Two fixes with outsized impact — low engineering cost, high usability return
UX-R3

Candidates must be able to upload a profile photo

The upload_files capability is not assigned to member. Candidates appear with placeholder avatars everywhere — including in the Mentor's My Connections list. This reduces trust in the first human touchpoint and creates inconsistency across user cards.

Confirmed (Gonçalo, March 2026): upload_files will be granted to member. Default avatar placeholder should be warm and inviting during the transition period — not a generic grey silhouette.
UX-R5

Add "Home" as first item in the top navigation

The main feed is unreachable from a labelled nav item. The only path is clicking the HearPeers logo — a hidden affordance that new users consistently miss.

Proposed nav order:
[ Home ] [ Groups ] [ Connections ] [ Chat ] [ Notifications ] ··· [ Profile ]
  • Home = first item, leftmost after logo — consistent with every major social platform
  • Active state applied when user is on the feed
Recommendation
UX-R4 — Guided onboarding flow
Establishing the three core relationships immediately: Area Manager (automatic) · Mentor (guided) · Groups (interest-driven)
Candidate — 4 steps
Step 1
Account created
Area Manager auto-connected
Step 2
Find Your Mentor
  • 6 mentors, proximity order
  • View profile modal
  • Connect in-place
  • Show more / Skip
Step 3
Discover Groups
  • Multi-select interest tags
  • Matching groups to join
  • Skip available
Step 4
Community feed
Recipient — 5 steps
Step 1
Account created
Area Manager auto-connected
Step 2
Find Your Mentor
  • Same pattern as Candidate
Step 3
Discover Peers
  • Recipients + Mentors
  • Area, language, interests
  • Same card pattern
Step 4
Discover Groups
  • Interest tags → groups
Step 5
Community feed
Shared UI patterns: Progress dots always visible · Skip on every step · Show more (6 cards + 2 rows/click) · Profile modal stays in flow · Connect in-place (card updates to Pending) · Re-entry resumes from last step
Referral special case: User arriving via HearPeers website Mentor link → Step 2 opens with referred Mentor in position 1 + profile modal auto-opens. Graceful fallback if Mentor is inactive at load time. → Q9 to confirm param convention with Lucas.
Additional Suggestions
CONN-S1 · S2 · S3 & ONB-S1 · S2
Connections page and onboarding improvements
CONN-S1 — Request inbox entry point

Badge on the Connections nav item when pending requests exist + "Requests" tab at the top of the page. Without a visible entry point users will not discover the inbox.

CONN-S2 — Empty state with contextual CTA
  • Candidate: "Find a Mentor — connect with someone who's been through this before" → CTA to Mentor search
  • Recipient: "Discover people near you" → CTA to Discover tab
CONN-S3 — Mentor card activity signal

6 Mentor cards look identical. Candidate has no signal of who is active or responsive. Suggested signals in preference order:

  1. "Usually responds within 2 days"
  2. Last active: "Active this week"
  3. Number of Candidates currently supported
ONB-S1 — Pre-select tags from registration

If interests were filled in during registration, arrive pre-selected in Discover Groups — not a blank slate.

ONB-S2 — Fallback for inactive referred Mentor

Do not auto-open modal, show 6 nearest active Mentors, soft message: "The mentor you were looking for is no longer available."

Summary
All changes to the Connections page design
23 items across corrections, recommendations, fixes, and suggestions
#ChangeTypeAffects
1Candidate can accept, decline, cancel connection requestsCorrectionCandidate
2Candidate can browse community — Mentors only scopeCorrectionCandidate
3Super Admin profiles hidden from all non-Super-Admin surfacesUX-R1All roles
4Area Manager auto-connected on user join (proactive)UX-R2All roles
5Area Manager in My Connections with Chat CTA from day oneUX-R2All roles
6"Find Area Manager" dedicated search path (by area)UX-R2Cand + Recip
7Area Manager not shown in Discovery grid for Cand / RecipUX-R2Cand + Recip
8Candidate can upload profile photo (backend fix confirmed)UX-R3Candidate
9Invitation sending restricted to Mentor+ (closes SA loophole)UX-R1All roles
10Guided onboarding: Mentor selection stepUX-R4Cand + Recip
11Guided onboarding: Recommended peers step (Recipient only)UX-R4Recipient
12Guided onboarding: Discover Groups stepUX-R4Cand + Recip
#ChangeTypeAffects
13Referral entry: referred Mentor first + modal auto-opensUX-R4Cand + Recip
14Onboarding re-entry: resume from last completed stepUX-R4Cand + Recip
15Add "Home" as first item in top navUX-R5All roles
16Connection request badge on nav + "Requests" tabCONN-S1Recipient+
17Empty state with contextual CTA per roleCONN-S2Cand + Recip
18Mentor card activity / responsiveness signalCONN-S3Candidate
19Pre-select interest tags from registration dataONB-S1Cand + Recip
20Graceful fallback if referred Mentor is inactiveONB-S2Cand + Recip
21Area Manager card always visible — cannot be removedUX-R2All roles
22Area Manager card CTA always Chat — no other statesUX-R2All roles
23Green online circle on profile photo — all connection cardsCONNAll roles
Open Questions
9 questions to confirm with the team
Blockers and clarifications before finalising the design
# Question Who to ask Impact
Q1Is Area Manager auto-connection on join proactive in the codebase, or only via auto-accept of incoming requests?Lucas (dev)New feature vs. bug fix (UX-R2)
Q2Is Mentor auto-connection on join implemented proactively? Same question.Lucas (dev)Mentor in My Connections day one
Q3Should Candidates and Recipients be able to send community invitations? Or restricted to Mentor+?Julia / AlexandreCloses Super Admin loophole (UX-R1)
Q4What should the "MED-EL" badge say to end users? ("Area Manager" or community-friendly label?)Anna / JuliaUI label change
Q5Is there a Mentor auto-connection per area, or do Mentors serve globally?MED-EL / GabiScope of UX-R2 and "Find Area Manager"
Q6What interest tags are available for group discovery? Who curates them?Anna / JuliaOnboarding Groups step (UX-R4)
Q7How many Mentors are typically available per area?MED-EL / GabiWhether "Show more" is needed for small areas
Q8Should Mentor recommendations fall back to global if fewer than 6 available locally?MED-ELFallback logic for small areas
Q9What is the referral URL parameter convention from the HearPeers website? Does it already exist?Lucas + HearPeers webReferral onboarding case (UX-R4)
Community
HearPeers Community · March 2026
Thank you
Gunther Eisen (Gonçalo Ferraz)
Lincoln Alves — Coopers Digital
goncalo.ferraz@coopers.digital
Next step
Confirm open questions with the team before finalising the Connections page prototype.
  • Q1–Q2 → Lucas (auto-connection implementation)
  • Q3–Q4 → Julia & Alexandre (product decisions)
  • Q5–Q9 → Julia (analytics & UX policy)
Speaker Notes