00 · Foundation / Information Architecture

System map & role-gated navigation

Top-level IA for RCL Hub 2.0. Routes are gated by the RBAC matrix in §8.2. Learners see governance + communication; RCL Members add proposal management + tasks; Teachers add oversight + school analytics; DBE adds provincial/national rollups + user management.

PWA · Mobile-first RBAC Offline-capable <3 clicks for key actions
Public Authenticated · Learner + RCL Member + Teacher (oversight) + DBE Official Landing Login Register School code lookup Help / Resources App Shell · OAuth2 + JWT role + school resolved → route guard Home Proposals Vote Meetings Messages Notifications Profile activity feed browse · filter yes/no/abstain RSVP · join channels · DMs push · in-app settings · sync Submit proposal Manage proposals Tasks · assign Schedule meetings draft · publish close · audit log due dates · status agenda · attendance Committee oversight School analytics Approval workflows members · roles engagement · KPIs moderate · escalate Provincial dashboard National dashboard Users & permissions System config
Learner (base)
+ RCL Member
+ Teacher
+ DBE Official
App shell · auth

01 · Authentication / Login & Registration

Get in fast, even on a borrowed phone

OAuth2 + JWT (§8.1). Login favours phone number — most learners share family devices. Registration is a 3-step wizard: school code → role → identity. The school code resolves school + province, eliminating two screens of pickers.

<1MB initial load (§7.2) Offline-aware Phone-first
01a · Login
Connection slow — using low-bandwidth mode
RCL

Welcome back

Sign in to continue

Phone number

+27 · _ _ _ _ _ _ _ _ _ _

Password

Forgot?

••••••••
or

New here? Register

01b · Register · Step 1/3
Create your account

Step 1 of 3 · Find your school

School code 2

Your school's RCL coordinator gives this 6-digit code. It links your account to your school + province.

Enter school code

8 4 K M 2 9

Roosevelt High School

Johannesburg, Gauteng

Don't have a code? Request from your RCL

01c · Register · Step 2/3 · Role
Create your account

Step 2 of 3 · Choose your role

I am a… 3

Learner

Vote on proposals, raise issues, follow your RCL.

RCL Member

Manage proposals, tasks, meetings. Verification required.

Teacher

Oversight + analytics. Verified by school admin.

DBE Officials are invited via secure email — no public path.

  1. 1Single primary action. Phone + password only. OAuth2 token exchange happens server-side; refresh stored in secure storage.
  2. 2School code resolves geography. One input replaces province → district → school cascading dropdowns. School + province auto-populated for analytics rollup.
  3. 3Role-gated registration. RCL Member & Teacher require verification (school admin or coordinator approval). DBE is invite-only — no public selector.
  4. 4Low-bandwidth banner. Surfaces when sync engine detects high latency; UI strips images and defers non-essential JS.

02 · Mobile · Learner / Home Dashboard

A landing pad for the active learner

First screen post-login. Surfaces what needs attention right now: open votes (with deadline urgency), assigned tasks, upcoming meetings, and a recent activity feed. The single-screen rule of §7.2 (<3 clicks) means voting is reachable from this screen in two taps.

Learner role Activity-driven 2 taps to vote
02 · Home dashboard · default state

Tuesday, 12 May

Hi Thandi 1

Synced · 2 minutes ago

Open votes 2

2 ending soon

Improve school WiFi access

Closes in 6 hours · 142 votes

Cafeteria menu changes

Closes in 2 days · 89 votes

Your tasks · 3

Submit safety report draft

Today

Review Grade 11 proposals

Fri

Upcoming meeting 3

MAY

14

RCL General Assembly

14:30 · Hall A · 28 RSVPs

Home
Vote
Tasks
Chat
More
02b · Home · offline state

Tuesday, 12 May

Hi Thandi

Offline — 2 votes, 1 comment queued 4

Open votes

cached

Improve school WiFi access

✓ Vote queued · will sync

Cafeteria menu changes

Vote when online

!

Working offline

Your actions are saved locally and will sync automatically when you reconnect. Last sync: 4h ago.

Your tasks · cached

Submit safety report draft

Today
Home
Vote
Tasks
Chat
More
  1. 1Personal greeting. First-name + role context. Sets the tone — this is your hub, not a generic dashboard.
  2. 2Open votes top of stack. Time-sensitive items first. Coloured urgency bar (red <24h, amber <7d, neutral) gives instant deadline read without numbers.
  3. 3Single next meeting. Calendar lives elsewhere; home shows only what's next. RSVP is a one-tap action — counts toward attendance event stream.
  4. 4Offline queue is visible. Per §11.2 delta sync. The user always knows what's saved, what's pending, what'll happen on reconnection. Trust over surprise.

03 · Mobile · Learner / Proposals List

Browse, filter, vote

Primary governance surface. Lists proposals from the learner's school + grade scope (filterable). Status pills indicate stage; the filter chip row is sticky so the user always knows what's filtered. The FAB is hidden for plain Learners — visible only for RCL Members who can submit on behalf of their committees.

Filter · scope Sticky chips Audit-logged votes
03a · Proposals · default
Proposals
🔍 Search proposals…
All Open Voted Closed My grade

12 proposals · sorted by deadline

Closes 6h Infrastructure

Improve school WiFi access

Install repeaters in B-block to extend coverage to senior classrooms…

142 votes · 78% Yes

Closes 2d Catering

Cafeteria menu changes

Add vegetarian + halaal options to the daily lunch rotation…

89 votes · 64% Yes

✓ You voted Safety

Lighting in the back parking lot

Three solar floodlights for after-hours safety…

203 votes · Closes Sat

Voted: Yes

Closed Events

Spring concert venue

Approved · 312 of 387 yes votes (81%)

Home
Vote
Tasks
Chat
More
03b · Filter sheet

Filter

Reset

Status

Open Voted Closed Draft

Category

All Safety Infrastructure Catering Events Curriculum

Scope 2

My grade School-wide My committee

Sort by

Closing soonest ▾
03c · RCL Member view + FAB
Proposals
RCL
All Drafts (3) Open Closing soon Closed
Draft By you · 2h ago

Library opening hours review

Extend Tuesday–Thursday closing time to 17:00…

Closes 6h 142 votes

Improve school WiFi access

78% Yes · 22% No

Manage ›

Cafeteria menu changes

89 votes · 64% Yes · Closes 2d

Home
Manage
Tasks
Chat
More
  1. 1Inline vote action. Quick yes/no/abstain sheet opens from this button. Full proposal detail is a tap on the card body — two patterns coexist.
  2. 2Scope filter is governance-aware. Reflects committee membership from User Profile Service. "My committee" is hidden if the learner has no committee role.
  3. 3FAB is role-gated. Plain learners cannot submit proposals directly — they raise issues via Submit Issue (Communication Service), which routes to RCL members for proposal authoring.

04 · Mobile · Learner / Proposal Detail · Vote

The vote, recorded in <1 second

Acceptance criteria from §15: user can vote once, vote recorded within 1 second, results update in real-time. The vote panel is anchored bottom — always reachable on long proposals. Live results bar shows current standing without revealing identities. Discussion is post-vote only to reduce strategic voting.

One vote per user <1s response Real-time results
04a · Detail · pre-vote
Proposal · #PRO-241
Closes in 6h 12m Infrastructure

Improve school WiFi access in B-block classrooms

Sipho M. · RCL Infrastructure · 12 May

Summary

B-block senior classrooms have unreliable WiFi affecting digital learning. Proposal is to install three repeaters and review the access point configuration in 11A, 11B, and 11C.

Cost & timeline

Live results 1

142 votes so far

Updated live

● Yes 78% ● No 18% ● Abstain 4%

Discussion · available after voting closes

🔒 Comments unlock when voting ends to reduce strategic voting.

Cast your vote 2

04b · Detail · voted state
Proposal · #PRO-241
Vote recorded · 0.4s · audit log #4d2a
Closes in 6h 09m Infrastructure

Improve school WiFi access in B-block classrooms

Sipho M. · RCL Infrastructure · 12 May

You voted Yes

Recorded 12 May, 14:32

Change ›

Live results · 143 votes 3

● Yes112 · 78%
● No26 · 18%
● Abstain5 · 4%

Quorum & threshold

Quorum (50% of 312)143/156 ✓
Approval threshold (60%)78% ✓

Decision audit trail

● 12 May 09:12 · Proposal published by Sipho M.

● 12 May 14:32 · Vote recorded (you)

○ 12 May 20:00 · Voting closes

  1. 1Live results visible pre-vote. Trade-off: privacy of trends vs. strategic voting risk. Mitigated by anonymized totals + post-vote-only commentary.
  2. 2Bottom-anchored vote panel. On long proposals the user never has to scroll back. Three options (Yes / No / Abstain) — abstain still counts toward quorum.
  3. 3Real-time updates. WebSocket subscription on PROPOSAL_VOTE_CAST event (§6.1). Falls back to polling on poor connections per §11.
  4. 4Quorum + threshold visible. Governance transparency. Both lifted from Governance Service config; school-level governance can override defaults.

05 · Mobile · RCL Member / Submit Proposal

Author a proposal in three steps

Available to RCL Members. Wizard structure guards against half-finished submissions while keeping each step short. Drafts are first-class citizens — saved offline, picked up on any device. The "supporting context" step accepts photo + voice note (low-bandwidth alternative to typing long descriptions).

3-step wizard Auto-save drafts Voice note option
05a · Step 1 · The proposal
New proposal

Save draft

Step 1 of 3 · The proposal

Title *

e.g. Improve school WiFi…

Keep it short — under 80 characters

Category * 1

Infrastructure ▾

Summary *

Briefly explain the problem and your proposed solution…

0 / 500

Estimated cost (optional)

R 0
05b · Step 2 · Supporting context
New proposal

Save draft

Step 2 of 3 · Supporting context

Help others understand why this matters. Optional but recommended.

Photo or video 2

Voice note · 30 sec max

Tap to record

Faster than typing. Stored as audio + transcript.

Linked issue (optional)

Search learner-raised issues…
05c · Step 3 · Review & publish
Review

Step 3 of 3 · Review & publish

Infrastructure

Library opening hours review

Extend Tuesday–Thursday closing time to 17:00 to support exam revision…

Voting setup 3

Voting window

7 days ▾

Eligible voters

All Grade 11 learners ▾

Approval threshold

60% Yes ▾

Teacher review required. Proposals enter "Under Review" before publishing — your supervising teacher gets notified.

  1. 1Closed category list. Avoids long-tail tags. Categories are configurable per province by DBE Admin to support analytics rollups.
  2. 2Voice note is a first-class input. Speech-to-text + audio playback. Reduces friction for typing-averse users; transcript indexed for search.
  3. 3Voting setup with school defaults. Default values come from the school's governance config — most authors won't change them. Power users can.

06 · Mobile · Shared / Meetings & Tasks

Workflow Service, made friendly

Two surfaces from one service (§3.1 Workflow Service). Meetings: schedule, RSVP, agenda, minutes. Tasks: assigned items with due dates and status. Both expose Kanban-style state transitions on the back end but are simplified to lists on mobile to keep the <3-clicks rule.

Workflow Service Calendar sync (ICS) RSVP-driven attendance
06a · Meetings · upcoming
Meetings

Upcoming · 4

Past · 18

May 2026

MON

11

TUE

12

WED

13

THU

14

FRI

15

SAT

16

SUN

17

Tomorrow · Thu 14 May

14:30 — 16:00

In-person

RCL General Assembly

Hall A · Chair: Lerato N.

28 going

Next week

Mon 19 May · 13:00

Virtual 1

Safety Committee

12 members · 7 RSVPs

Wed 21 May · 14:00

✓ Going

Grade 11 Class Reps

Room B12 · Agenda attached

Home
Vote
Tasks
Chat
More
06b · Meeting detail
Meeting

Thursday, 14 May 2026 · 14:30—16:00

RCL General Assembly

Hall A · Roosevelt High School

Agenda 2

14:30

Opening & minutes from last assembly

14:45

WiFi proposal — voting outcome & next steps

15:15

Q3 budget proposal walkthrough

15:45

Open floor & close

Attendees · 28 going · 4 declined

+22

Add to your calendar

Sync with Google · Apple · Outlook (.ics)

06c · Tasks
Tasks

My tasks · 7

Assigned by me · 3

Done

Overdue · 1

Submit safety report draft 3

Due yesterday · From: Mrs Khumalo

Today · 2

Confirm assembly attendance

Today · From: Lerato N.

Due 6h

Review WiFi vote results

Today · From: System

This week · 4

Q3 budget walkthrough prep

Fri · From: Sipho M.

Sign committee charter v2

Sat · From: Teacher liaison

Home
Vote
Tasks
Chat
More
  1. 1Hybrid meetings, native. Virtual flag triggers a "Join" button at meeting time. Integration Service handles Teams/Zoom/Google Meet via meeting URLs in the agenda payload.
  2. 2Agenda is structured, not free text. Time-blocked items linked to proposals/decisions. Drives auto-generated minutes draft after the meeting.
  3. 3Tasks have provenance. "From: Mrs Khumalo" makes the source visible — system-assigned tasks (e.g., post-vote review) are labeled "From: System".

07 · Mobile · Shared / Messages

Channels for the governance, DMs for the rest

Communication Service (§3.1). Channels are auto-provisioned per committee + grade group; learners cannot create cross-school DMs (safeguarding). Teachers see all channels their committees own. All messages are scanned by content-moderation pipeline before delivery.

Channel-first Moderated Safeguarded DMs
07a · Channel list
Chat

Channels · 6

Direct · 2

Pinned

📣

# school-wide-announcements

2h

Mrs Khumalo: Reminder about tomorrow's assembly…

Committees · 3

G11

# grade-11-rcl

12m

3

Sipho: Has anyone seen the agenda? 1

SC

# safety-committee

1h

Lerato shared a photo

EV

# events-team

Yest.

Naledi: Posters drafted ✓

Direct messages · 2

Lerato N.

3h

Thanks for the help today!

Home
Vote
Tasks
Chat
More
07b · Channel · # grade-11-rcl

# grade-11-rcl

12 members · Sipho, Thandi, Lerato +9

Today

Sipho M. 14:02

Has anyone seen tomorrow's agenda? Want to make sure I prep the WiFi update.

Lerato N. 14:08

Just shared in the assembly meeting card. Item 2 at 14:45.

14:32You

Got it, thanks 🙏

✓✓ Read

Pinned proposal: WiFi access (closes 6h)

Message #grade-11-rcl…
07c · DM with safeguarding banner

Lerato N.

RCL · Grade 11

Safeguarded DM · same school, same grade ✓ 2

Today

Hey, can you check the safety report draft when you get a chance?

14:18

Yes, will do tonight

14:30 · ✓✓

If anything in this conversation makes you uncomfortable, report it. Teachers can review reported messages.

Message Lerato…
  1. 1Channels are work surfaces. Pinned proposals, files, and meeting links live alongside chat. The boundary between "messaging" and "doc collab" softens here.
  2. 2Safeguarding banner. DMs only allowed within same school + grade by default. Cross-grade requires teacher-approved buddy/mentor role. Visible reassurance to learners + parents.
  3. 3Moderation is event-driven. Each MESSAGE_SENT event runs through the moderation pipeline (§6.1) — flagged messages held + escalated to a teacher's review queue.

08 · Mobile · Shared / Notifications & Profile

Stay caught up, manage your account

Notification Service (§3.1) renders push, SMS, email and in-app surfaces. The in-app inbox is the source of truth — push is best-effort. Profile is the entry point for settings, school transfer requests, and offline storage management. The footer surface "More" tab houses both.

Notification Service Channel preferences Per-event mute
08a · Notifications inbox
Notifications

Mark all read

All

Unread · 4

@Mentions

Today

!

WiFi proposal closes in 6 hours 1

142 of 312 votes cast — quorum reached

14:02

@

Lerato mentioned you in #grade-11-rcl

"@Thandi can you confirm the…"

14:08

📋

New task assigned

"Submit safety report draft" — due today

12:45

📅

RCL General Assembly tomorrow at 14:30

09:00

Yesterday

Spring concert proposal approved (81% Yes)

Yesterday, 20:00

💬

3 new messages in #safety-committee

Yesterday, 16:22

08b · Profile
Profile

Thandi Mokoena

Learner Grade 11A

Roosevelt High · Johannesburg

14

Votes cast

3

Issues raised

9

Tasks done

Account

Edit profile
Change school
Notification preferences 2

Storage & sync

Offline data 12.4 MB / 50 MB

Last synced 2m ago · Sync now

About

Help & support
Privacy & terms
Sign out

RCL Hub v2.0.4 · Othab Solutions

Home
Vote
Tasks
Chat
More
08c · Notification preferences
Notifications

Choose how you'd like to be notified for each event type. Critical safeguarding alerts can't be disabled.

Channels 3

Push

Real-time on this device

SMS

For urgent items only

Email

Daily digest

Event types

Vote opens / closes

Push, SMS

@Mentions

Push only

Task assigned

Push, Email

Meeting reminders

Push (1h before)

Safeguarding alerts

Always on 🔒

  1. 1Urgency-coloured icons. Red dot for closing votes, neutral for FYIs. Unread state shows a teal dot — read state collapses opacity.
  2. 2Storage management visible. Per §11.1 (SQLite cap on mobile). Users on low-end devices need to reclaim space — sync flag triggers force-clean of cached media.
  3. 3Channel × event-type matrix. Power-user pattern simplified to mobile. Defaults are conservative (push for time-sensitive only) to avoid notification fatigue.

09 · Web · RCL & Teacher / RCL Member Dashboard

The operating console for active members

Web-first surface — most RCL Member work happens at a laptop (drafting proposals, reviewing analytics, scheduling). Mobile parity exists but the desktop layout makes simultaneous workstreams legible: pending decisions on the left, activity on the right, calendar always reachable.

Web · 1280 baseline RCL Member role Multi-stream layout
09 · RCL Member · school dashboard
app.rclhub.gov.za / dashboard
● Synced

Welcome back, Thandi

RCL Member · Grade 11 · 4 items need your attention this week

Active proposals

7

↑ 2 this week

Awaiting your vote

3

1 closes in 6h

Open tasks

12

2 overdue

Engagement (grade)

72%

↑ 8% vs last month

Needs your attention 1

All Priority

Improve school WiFi access

Closes 6h

142 votes · 78% Yes · You haven't voted

Submit safety report draft

Today

Task from Mrs Khumalo · Linked to proposal #PRO-198

Cafeteria menu changes

Closes 2d

Authored by you · 89 votes so far

Library hours review · draft

Draft

Saved 2h ago · Ready for teacher review

This week

May 11—17

THU

14

RCL General Assembly

14:30 · Hall A

FRI

15

Q3 budget walkthrough prep

Task · due EoD

MON

19

Safety Committee · virtual

13:00 · 12 members

Activity feed 2

Last 24 hours

Sipho M. published proposal "WiFi access"

2h ago · 142 votes

Mrs Khumalo approved Q3 budget draft

3h ago

Lerato N. closed task "Print agenda"

5h ago

System · 47 new votes on cafeteria proposal

6h ago

Naledi K. joined Events Committee

Yesterday

Spring concert proposal closed (81% Yes)

Yesterday, 20:00

  1. 1"Needs attention" is a unified queue. Merges votes, tasks, and drafts in one priority-ordered list. The user shouldn't have to sweep three tabs to know what's outstanding.
  2. 2Activity feed = event stream. Reads directly from the Kafka event topic (§12.1) — every event type from §6.1 surfaces here, filtered to the user's committee scope.
  3. 3Sync indicator in topbar. Persistent across all web screens. Click to see queue depth, last sync timestamp, force resync.

10 · Web · Teacher / Committee Management

Committees, at a glance

Teacher oversight surface. Each committee is a Workflow Service container — members, recurring meetings, decisions, and a backlog. Cards show vital signs (activity, attendance, pending decisions). Drill-down opens a full committee workspace (out of scope for v0.1 wireframes).

Teacher role Aggregated workspaces Health indicators
10 · Committees · all active
app.rclhub.gov.za / committees
● Synced

Committees

Roosevelt High · 7 active · 2 pending teacher review

All · 7 Standing Ad-hoc Pending review Inactive
Healthy Standing

Grade 11 RCL

Chair: Lerato N.

Members 12
Last meeting 3 days ago
Open decisions 1 3
Attendance (avg) 87%
Healthy Standing

Safety Committee

Chair: Sipho M.

Members12
Last meetingYesterday
Open decisions1
Attendance (avg)92%
At risk 2 Standing

Events Team

Chair: Naledi K.

Members8
Last meeting21 days ago
Open decisions5
Attendance (avg)42%
Healthy Ad-hoc

Q3 Budget Review

Chair: Thandi M.

Members6
EndsIn 3 weeks
Open decisions2
Attendance (avg)94%
Pending review Ad-hoc

Mental Health Awareness

Proposed by: Lerato N. · 2d ago

Proposed 6-week ad-hoc committee to plan awareness week. 9 students requested membership.

+

Create new committee

Standing or ad-hoc

  1. 1Open decisions surface accountability. A decision = a proposal or motion the committee owes a vote on. High counts trigger nudges in the activity feed.
  2. 2"At risk" is a derived health score. Computed from meeting cadence + attendance + activity. Teachers can drill in to investigate; learners don't see the label.
  3. 3Approval queue lives in the sidebar. Lerato proposed an ad-hoc committee — Mrs Khumalo approves, declines, or asks for revision. Audit-logged either way.

11 · Web · Analytics / School Analytics

Engagement, quantified

Analytics Service surface (§3.1, §12.2). School-tier dashboard for Teachers and senior RCL members. KPIs roll up grade-level participation; charts decompose by category, grade, and time. Data is read from the warehouse (§12.1: Kafka → Spark → DW), not the operational DB — sub-second response is non-goal here.

Teacher · RCL Lead Warehouse-backed Drill-down to grade
11 · School analytics · Roosevelt High
app.rclhub.gov.za / analytics / school
● Synced 4m ago

School analytics

Roosevelt High School · Johannesburg, Gauteng

Active learners

847 / 1,124

75% · ↑ 8% vs prev

Proposals this month

23

9 closed · 11 open · 3 draft

Vote participation

68%

↓ 2% — needs attention

Tasks completed

142

↑ 24 vs prev

Engagement over time 1

Active learners Vote participation
Apr 12Apr 19Apr 26May 03May 10

Proposals by category

Infrastructure36%
Safety25%
Catering19%
Other20%

Vote participation by grade 2

Last 30 days

G7G8G9G10G11 ↓G12

Top contributors

By proposals + votes + tasks

Lerato N.

RCL · Grade 11

94 pts

Sipho M.

RCL · Grade 12

81 pts

Naledi K.

Events · Grade 10

67 pts

Thandi M.

RCL · Grade 11

59 pts

Tshepo R.

Safety · Grade 12

54 pts

Decisions log 3

DateDecisionOutcomeQuorumApproval
12 May Spring concert venue Approved 156/156 81%
8 May Lighting in parking lot Approved 148/156 76%
3 May Uniform policy update Rejected 132/156 42%
28 Apr Library digital catalogue Approved 156/156 94%
  1. 1Two metrics, one chart. Active learners (volume) and vote participation (engagement quality) tell different stories — overlaying them is the value.
  2. 2Weak grade is highlighted. G11 below threshold gets a soft tag. Single-glance signal — Mrs Khumalo knows where to focus this week.
  3. 3Decisions log = governance audit trail. Sortable, filterable, exportable for DBE compliance reports. Every row links to the proposal artefact + audit log entry.

12 · Web · Analytics / Provincial & National Dashboard

The view from Pretoria

DBE-tier dashboard. Aggregates 20,000+ schools and 6M+ learners (§1.2 scope). Geographic heatmap surfaces participation gaps; trend lines show national engagement; theme detection clusters proposal categories into emerging issues. All drill-downs respect data-locality and PII rules — no individual learners visible at this tier.

DBE · Provincial No-PII tier Cross-province compare
12 · National dashboard · DBE official view
app.rclhub.gov.za / dbe / national
● Live · 12s lag

National RCL Hub overview

Department of Basic Education · 9 provinces · last 30 days

Active learners

4.2M

↑ 184k this month · 70% of base

Schools active

19,450 / 22,318

87% · ↑ 412 schools

Proposals (30d)

14,728

↑ 12% vs prev

Vote participation

61%

↓ 1.4% — KZN drag

Provincial heatmap 1

Vote participation %

LIM 78% MP 74% GP 68% NW 64% FS 51% KZN 38% NC 55% EC 62% WC 71%
20% — 80%

Engagement trend (national)

12-month rolling

Jun '25Sep '25Dec '25Mar '26May '26

Top emerging themes 2

NLP-clustered

School safety

↑ 34%

2,847 proposals · 7 provinces

Connectivity / WiFi

↑ 18%

1,902 proposals · 9 provinces

Mental health

↑ 22%

1,453 proposals · 8 provinces

School transport

↑ 6%

1,182 proposals · 6 provinces

Schools by tier

Active & healthy71%
Active22%
At risk5%
Inactive2%

Provinces · ranked

1 · Limpopo78%
2 · Mpumalanga74%
3 · Western Cape71%
4 · Gauteng68%
5 · North West64%
6 · Eastern Cape62%
7 · Northern Cape55%
8 · Free State51%
9 · KwaZulu-Natal38% ↓
  1. 1Heatmap as pattern detector. KZN's drop is visible at a glance. Click-through to provincial dashboard zooms in to district + school grain (gated by data minimisation rules).
  2. 2NLP-clustered themes. Proposal titles + descriptions vectorised; topics clustered nightly via Spark job. Surfaces issues DBE policymakers wouldn't see in raw category counts.
  3. 3No PII at this tier. Per §8 + POPIA: officials see aggregates only. Drill-down to individual learners requires elevated audit-logged access (not in v0.1 wireframes).

13 · Web · DBE Admin / Users & Permissions

Identity Service, operationalised

Per §3.1 + §8.2 RBAC matrix. Search, filter, audit, and modify role assignments at any scale. Bulk actions for school/district onboarding. Side panel handles individual edits without leaving the list — a pattern that scales from 10 to 10,000 users.

DBE Admin only Audit-logged Bulk · CSV import
13 · User management · with row selected
app.rclhub.gov.za / dbe / users
● Synced

Users & permissions

5,847,219 users · 22,318 schools · last sync 12s ago

Role: All ▾
Province: Gauteng ▾
School: All ▾
Status: Active ▾
Last active: any ▾

1 selected · 8,432 results

Name Role School Province Last active Status

Lerato Ndlovu

+27 82 ••• 4421

RCL Member Roosevelt High Gauteng 2m ago Active

Sipho Mthembu

sipho.m@school.za

RCL Member Roosevelt High Gauteng 12m ago Active

Mrs N. Khumalo

n.khumalo@school.za

Teacher Roosevelt High Gauteng 1h ago Active

Thandi Mokoena

+27 71 ••• 8814

Learner Roosevelt High Gauteng 14m ago Active

Naledi Khoza

+27 84 ••• 2208

Learner Roosevelt High Gauteng 3h ago Active

Tshepo Radebe

+27 76 ••• 3399

Learner Roosevelt High Gauteng 21d ago Inactive

M. Dlamini

m.dlamini@school.za

Teacher Sandton High Gauteng 5h ago Active
Showing 1—7 of 8,432
  1. 1Bulk CSV import = onboarding lifeline. 22k schools cannot be invited one-by-one. CSV maps to User + School entities (§4.1). Failures show inline; partial imports allowed.
  2. 2Side panel keeps context. Edits don't take you off the list — adjust role on one user and the row updates in place. Faster than a modal-per-edit.
  3. 3Permissions are derived, not editable here. They follow from role per the RBAC matrix. Per-user overrides are intentionally absent — keeps the matrix the single source of truth.

15 · Extensions / Alerts

System-pushed alerts, not action notifications

Distinct from the notification inbox (08). Alerts are top-down: DBE announcements, school-wide emergencies, safeguarding follow-ups, platform incidents. Three severity tiers — Critical (red banner, blocking acknowledgement), Warning (amber, dismissible), Info (teal, ambient). Acknowledgement is audit-logged so DBE can prove a message reached learners during emergencies.

Top-down push 3 severity tiers Ack audit-logged
15a · Critical alert · blocking
!

CRITICAL · School closure

Roosevelt High · 14:02

School closing early today due to severe weather 1

All learners must be collected by 13:00. RCL transport coordinators please report to Hall A immediately. Parents have been notified via SMS.

From: Mrs Khumalo · Principal
Authority: DBE-issued · #ALT-78a3

Your acknowledgement is logged. SMS will follow.

15b · Alerts inbox · all tiers
Alerts

Subscribe

All · 14 Critical · 1 Warning · 3 Info · 10

This week

!
Critical

Today 14:02

School closing early — severe weather

Roosevelt High · ✓ Acknowledged

Warning · DBE

Yest. 09:00

Exam timetable change — Maths P2

Gauteng province · 14 schools affected

i
Info · Platform

Mon 11 May

New: Stories & AI Buddy now live

Try them from the home screen 3

Earlier

i
Info · School

7 May

Founders Day · 17 May

🔒
Safeguarding

5 May

Wellbeing check-in available

15c · Web alert bar
app.rclhub.gov.za
!

School closing early today · 13:00

Severe weather · all RCL coordinators report to Hall A

Exam timetable change — Maths P2 moved to 24 May ×
[ regular page content sits below stacked alerts ]
Critical alerts push content; warning & info compress.
  1. 1Critical alerts are blocking. Modal-style overlay; the app pauses until acknowledged. Reserved for safety/emergency only — abuse erodes trust.
  2. 2Acknowledgement is auditable. Stored against user + timestamp + alert ID. DBE can prove an emergency message reached a known recipient — required for incident reporting.
  3. 3Info alerts ≠ marketing. Platform updates only (new features, planned downtime). Editorial content lives in Stories (19), not here.
  4. 4Source authority is visible. Every alert shows who issued it (Principal / DBE / Platform). Anti-spoofing — only verified senders can issue alerts to a given scope.

16 · Extensions / Quotes

A small dose of inspiration, daily

Lightweight content surface — a rotating "quote of the day" on home, a browsable gallery, and an RCL-member submission flow. Curated, not free-for-all. Categories aligned to school values: Leadership, Ubuntu, Service, Excellence, Perseverance. Shareable card design for WhatsApp/Instagram.

Daily rotation Shareable cards RCL-curated
16a · Quote of the day · home card

Tuesday, 12 May

Hi Thandi

"

Quote of the day 1

"A leader is one who knows the way, goes the way, and shows the way."

— John C. Maxwell · Leadership

Other home content…

Active votes, tasks, meetings (see screen 02)

16b · Quotes gallery
Quotes
All Leadership Ubuntu Service Excellence Saved · 4

"I am because we are."

— Ubuntu philosophy ♡ 248

"It always seems impossible until it is done."

— Nelson Mandela ♡ 412

"Education is the most powerful weapon you can use to change the world."

— N. Mandela ♡ 389

"Real leaders must be ready to sacrifice all for the freedom of their people."

— Mandela ♡ 156
16c · Submit quote · RCL only
Submit a quote

Share an inspirational quote with your school. RCL coordinators review before publishing. 3

Quote *

"Type the quote here, exact wording…"

Keep it under 200 characters. Use straight quotes.

Attributed to *

e.g. Nelson Mandela, Maya Angelou…

Category *

Leadership ▾

Source (optional)

Book, speech, year…

Note: Quotes must be from public figures or out-of-copyright sources. No personal quotes about identifiable students.

  1. 1Daily rotation, deterministic. Same quote shown to everyone in a school per day — creates conversation. Algorithm cycles through curated set; learner can tap "Save" to keep favourites.
  2. 2RCL-only FAB. Plain learners can suggest via Submit Issue (Communication Service); only RCL Members + Teachers see the direct submission FAB. Keeps curation quality high.
  3. 3Moderation queue. All submissions go through the RCL coordinator/teacher for approval. Copyright + appropriateness check. Approved quotes enter the rotation for that school only.
  4. 4Shareable card design. "Share" generates an Instagram-square image with school branding + handle attribution — small organic-marketing surface for the platform.

18 · Extensions / Calendar

All the dates that matter, layered

A wider view than Meetings (06). Layers: RCL meetings, voting deadlines, school events, exam periods, SA public holidays, personal tasks. Mobile shows an agenda list anchored to today; web is a full month grid. Toggleable layers — a learner can hide what's irrelevant. ICS subscription for external calendars.

Layered ICS subscribe SA public holidays
18a · Mobile · agenda view
Calendar

May 2026

● Meetings ● Votes ● School events ● Exams ● Holidays

Today · Tue 12 May

WiFi proposal closes

20:00

Vote · #PRO-241

Tomorrow · Wed 13 May

Class Rep sync

14:00 · Room B12

Thu 14 May 1

RCL General Assembly

14:30 · Hall A

School play opening night

18:00 · Hall A

Sat 17 May

Founders Day

All-day · School-wide

Mon 19 — Fri 23 May

June exam prep week

No meetings scheduled · auto-pause

Sun 1 Jun

Youth Day · public holiday

School closed

Home
Vote
Calendar
Chat
More
18b · Web · month grid
app.rclhub.gov.za / calendar

Calendar

May 2026 · Roosevelt High

MON
TUE
WED
THU
FRI
SAT
SUN
28
29
30

1

Workers Day
2
3
4

5

RCL meeting
6
7
8
9
10
11

11

12 ·

WiFi vote ✕

13

Class Reps

14

Assembly
Play night
15
16

17

Founders

18

19

Exam prep ▶
20
21
22
23
24
25
26
27
28
29
30
31

3 Exam-prep weeks auto-pause non-essential meetings school-wide.

  1. 1Agenda over month-grid on mobile. Vertical lists scroll naturally; tiny calendar cells on a 360px screen are noise. Month grid is web-only.
  2. 2ICS subscribe, not export. Users connect their personal Google/Apple/Outlook calendar to the hub feed — automatic updates beat one-time .ics downloads.
  3. 3Exam-prep blocks meetings. School admin defines exam periods; the platform suppresses non-essential meeting invitations during those windows. Workflow Service rule.
  4. 4Public holidays via SA API. Auto-fetched annually from the SA government calendar feed — no manual maintenance.

19 · Extensions / Stories & blog

Good stories, profiled

Long-form editorial surface. RCL coordinators and teachers publish stories profiling learner achievements, RCL initiatives, and leadership lessons. Different from proposals (which are operational) and quotes (which are atomic). Reactions allowed; comments moderated. National DBE-curated stories cross-syndicate to all schools.

RCL/Teacher-authored Moderated comments National syndication
19a · Stories list · mobile
Stories
For you Spotlights Achievements How-to National
Spotlight National 1

How Roosevelt High's RCL halved cafeteria waste

A four-month proposal cycle that started with one Grade 9 learner's photo of an overflowing bin…

Mrs Khumalo

12 May · 4 min read

♡ 124 💬 18
Achievement

Lerato N. wins Inter-school debate

10 May ♡ 247
How-to

Writing a proposal that gets approved

3 min · video ♡ 89
Spotlight

Grade 8 learners build a community library

8 May ♡ 312
19b · Story detail
Story
Spotlight

How Roosevelt High's RCL halved cafeteria waste

Mrs N. Khumalo

Principal · Published 12 May · 4 min read

It started with a photo of an overflowing bin and one Grade 9 learner who wouldn't let it go.

In February, Naledi Khoza filed an issue through the hub. By May, the school had cut food waste by 47%. This is how it happened — and what the RCL learned along the way.

The proposal cycle followed a familiar pattern: an issue raised, an RCL member adopting it, a school-wide vote, a teacher-supervised pilot…

Related proposal

Cafeteria menu changes & portion review

Approved · 64% Yes · 7 May

…and the result is something every school can borrow…

Reactions 2

Comments · 18 3

Sipho M. · 1h ago

Going to share this with our committee — proud of the team 💚

19c · Author · compose
×
New story

Preview

Category *

Spotlight ▾

Hero image

Title *

How we halved cafeteria waste

Dek (subtitle)

A short hook that draws readers in…

Body

Write your story…

Use the toolbar below for headings, quotes, images, video embeds, and proposal links.
YT · 𝕏 · img

Link a proposal (optional)

Search proposals…

Review required. Stories about identifiable learners require a signed consent form from a parent/guardian on file.

  1. 1National syndication. DBE-published stories appear on every school's feed (tagged "National"). School-published stories stay school-scoped unless explicitly nominated for national review.
  2. 2Reactions ≠ likes only. Multi-emoji reactions (♡ 👏 🤔) read better as engagement signal — useful for editorial decisions about what resonates.
  3. 3Comments moderated by default. Held in queue; teacher releases. Reduces moderation load via auto-allow for established commenters (5+ approved comments).
  4. 4Consent on profiles. Stories naming/featuring identifiable learners require parent consent — gated at the publish step. POPIA + safeguarding driven.

20 · Extensions / Resources & video

A library of how-to, training, and reference

YouTube-embedded video playlists + downloadable resources (PDFs, templates). Organised into playlists by purpose: Platform How-to, Leadership Training, RCL Highlights, Inspiring Stories. Videos play inline; no native upload — YouTube is the host of record. Resources are scoped: national content from DBE, plus school-specific content.

YouTube-hosted Playlists National + school
20a · Mobile · playlists
Resources
Videos Documents Templates Saved · 6

Platform how-to 1

See all 12 ›

2:14

How to vote on a proposal

DBE · 1.2k views

3:48

Writing your first proposal

DBE · 847 views

5:02

Running a great meeting

Leadership training

See all 8 ›

12:30

Conflict resolution for RCLs

8:45

Public speaking basics

Templates & guides

📄

RCL constitution template

DOCX · 142 KB

📄

Meeting minutes template

DOCX · 38 KB

📄

Safety report template

PDF · 220 KB

20b · Inline video player
Watch
YouTube 2
Platform how-to

Writing your first proposal

DBE RCL Office

847 views · 3:48 · Apr 2026

In this video

A 4-minute walkthrough showing how to write a proposal that addresses a real school need and gets approved by your peers and teachers.

Up next in this playlist

How votes are counted

2:42 · DBE

20c · Curator · add YouTube video
×
Add video

Paste a YouTube URL. We pull the title, duration, and thumbnail automatically. 3

YouTube URL *

https://youtube.com/watch?v=…

Conflict resolution for RCLs

12:30 · DBE RCL Office

Add to playlist *

Leadership training ▾

Visibility

School only

Visible only to Roosevelt High learners

National (DBE only)

Visible to all schools — DBE approval required

YouTube only. Native uploads not supported. Hosting on YouTube keeps the platform light and offloads moderation.

  1. 1Playlists, not flat library. Horizontal-scroll rails per playlist read better on mobile than long alphabetical lists. Each rail has a "see all" gate.
  2. 2YouTube embed visibility. Player branded as YouTube — sets correct expectations (ads will play, comments off-platform) and avoids implying RCL Hub is the host.
  3. 3oEmbed for metadata. YouTube oEmbed API auto-pulls title + thumbnail + duration on paste. Curator doesn't retype anything.
  4. 4No native uploads. Hosting video at school scale is a cost and moderation nightmare. YouTube does both for free. Trade-off: dependency on a 3rd party.

21 · Extensions / Theme & appearance

Personal and campaign theming

Two distinct features under one roof. Personal: light/dark/system + accent colour + font size for accessibility. Campaign: school or DBE-issued themes for awareness months (Mental Health, Heritage Month, 16 Days of Activism) — applies a colour overlay, optional banner, and a curated content rail.

Personal + campaign Accessibility (WCAG AA) DBE-issued campaigns
21a · Personal theme settings
Appearance

Theme

Light

Dark

System

Accent colour 1

Brand-safe palette. School-imposed accents override personal choice.

Text size 2

A
A

Default · Small / Default / Large / X-Large

Accessibility

Reduce motion

Disable transitions & auto-playing media

High contrast

Stronger borders & text contrast

21b · Dark mode preview
Home

Open votes

2 ending soon

Improve school WiFi access

Closes in 6 hours · 142 votes

Your tasks · 3

Submit safety report draft

Today

Quote of the day

"I am because we are."

— Ubuntu philosophy

21c · Awareness campaign theme

Tuesday, 12 May

Hi Thandi

🌱

Awareness · May

Mental Health Awareness Month 3

Stories, resources & support, curated by DBE

Featured this month

Story

Talking about how we feel — what RCL leaders can do

5 min read · DBE

Resource

Childline SA · 24/7 support

116 · Free · Confidential

4 School can opt out of any campaign in admin settings.

  1. 1Brand-safe palette only. 5 accent options pre-validated against teal-on-white WCAG contrast. Free-pick colour wheels lead to inaccessible UI.
  2. 2Text size is per-device, not per-account. Lives in local storage. A user on a phone vs a school laptop may want different defaults.
  3. 3Campaign themes are DBE-issued. Schools don't create their own — keeps the surface coherent across the country. Pre-canned calendar: Mental Health (May), Youth Month (June), Heritage (Sept), 16 Days (Nov-Dec).
  4. 4Schools can opt out. Some topics (e.g., 16 Days of Activism) involve sensitive content — school principals can disable specific campaigns for their community.

22 · Extensions / AI assistant

RCL Buddy — grounded, role-scoped, escalates to humans

A focused AI helper, not a general chatbot. Knowledge base: platform FAQs, school's governance docs, RCL handbook, current open proposals, the user's own data. Three rules: (1) always cite sources, (2) role-scoped — only sees what the user can see, (3) escalates anything safeguarding-related to a human teacher.

Grounded · cites sources Role-scoped Safeguarding handoff
22a · Chat panel · welcome

RCL Buddy 1

Online · Beta

×

Hi Thandi 👋 I'm RCL Buddy — I can help you find your way around the hub, answer questions about your school's RCL, and explain how things work.

Try one of these or just type your question:

Ask anything…

Buddy can make mistakes. Verify important info with your RCL.

22b · Cited answer

RCL Buddy

Just now

×

What's the quorum for a proposal vote at our school?

At Roosevelt High, a proposal vote requires 50% of eligible voters to reach quorum, and 60% Yes for approval.

For Grade-level proposals, that's 156 of 312 learners.

Sources 2

📄

RCL Constitution §3.2 — Voting procedures

School governance config

Helpful?

Ask follow-up…
22c · Safeguarding handoff

RCL Buddy

Just now

×

I'm being bullied in the group chat and I don't know what to do

I'm really sorry that's happening. 3

This is bigger than something I should try to handle. The best people to help you are a trusted adult and your school's safeguarding team.

Here are some options — choose what feels right:

You're not alone in this. Whatever you choose, I'll be here.

Type if you need to…
  1. 1Brand the AI distinctly. "RCL Buddy" with a friendly mark — sets expectation it's a helper, not a generic ChatGPT clone. Beta badge sets expectations honestly.
  2. 2Citations are non-negotiable. Every factual answer links to its source — constitution clause, governance config, proposal record. Builds trust + enables verification. Refuses to answer when no source is available.
  3. 3Safeguarding triggers an explicit handoff. Classifier on inputs detects bullying, abuse, self-harm, mental health crises → AI stops trying to solve, switches to support-and-route mode with pre-vetted resources. Conversation is logged (with consent) for the safeguarding team.
  4. 4Role-scoped retrieval. RAG index partitioned by role + school. A learner querying "show me the budget" cannot retrieve documents they can't access through the normal UI. AI does not bypass RBAC.

14 · Reference / Legend & conventions

How to read these wireframes

Visual conventions used throughout the deck, plus what these wireframes deliberately leave out. Wireframe-fidelity = structure, hierarchy, and interaction pattern. Visual design (typography, brand, micro-copy, illustration) is the next milestone.

Wireframe primitives

Image / media placeholder

Dashed border + diagonal cross. Final visual unspecified.

Avatar / person

Circle outline. Initials/photo come later.

Icon

Square or circle outline. Shape ≠ semantic — final icons TBD.

Buttons

Status & signals

Tags & pills

Default Filter active Role Healthy At risk Urgent

Urgency colours

Critical / overdue / closes <24h
Attention / closes <7d
Healthy / completed / approved
Brand / primary action

Annotation pins

1 2 3 map to numbered notes below each screen

Sync states

Synced state — current and live
Offline — actions queued

Device targets

Mobile phone (primary)

360 × 740 viewport · Android Chrome PWA · ≥80% of learner traffic. Designed for one-handed use, low bandwidth, and devices with 2GB RAM.

Web (admin / oversight)

1280 baseline · scales up to 1440. Used by RCL members for authoring, by Teachers + DBE for oversight + analytics. Same component library, denser layout.

Tablet

Out of scope for v0.1 — the mobile layout reflows to fill, but no tablet-optimised variant is specified.

What's not in here yet

Final visual design. Typography, brand expression, illustration system, dark mode.

Final copy. Microcopy and tone-of-voice will go through DBE review before lock.

Multilingual layouts. isiZulu, Sesotho, Afrikaans, etc. — string lengths can change layouts; needs a separate audit.

Accessibility specifics. Contrast, focus rings, screen-reader labels — applied during build phase against WCAG 2.2 AA.

Empty states & errors. Each screen has a happy path here; first-run, empty, and error variants are TBD.

Learning Service surfaces. Per §3.1 — content, progress, gamification — descoped from v0.1 wireframes; covered in next iteration.

Provincial dashboard. Variant of National (12) with one-province scope; same components, different filter defaults.