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.

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.