Admin Dashboard

👩‍🏫
—
Teachers
🎓
—
Students
Data Coverage by Class
Sign in to load coverage data

Schools

Manage all schools and organisations on the platform

🏫
—
Total schools
✓
—
Active
👩‍🏫
—
Total teachers
🎓
—
Total students
Loading schools...

🗑 Deletion History

Permanent audit trail of every school deletion (and preview) run through deleteSchoolData

Loading deletion history...

💳 Price Change Notices

Manually notify selected organisations of an upcoming renewal price change. Automated 14-day renewal reminders run daily and need no action here — this is only for announcing a price change ahead of time.

Sends only to orgs selected below whose actual Stripe renewal date is at least 30 days away — anything closer is automatically skipped and reported, not sent.

Select organisations
Loading organisations...

🎮 Manage Games

Toggle which games are visible in the real student and teacher dashboards. A game marked not live is invisible to every real class — you can still open and test it yourself using the button below, since it's already deployed, just not linked from anywhere real users look. Tick the box to make it live for everyone, instantly — no redeploy needed.

First time setting this up? Run the one-time seed to populate this list from every game already wired into the dashboards — safe to click more than once, it only ever adds games that aren't in the list yet, never overwrites an existing entry.

Solo Games (student games grid)
Loading games...
Teacher-Hosted Games ("Host a Game" tab)
Loading games...

💰 Manage Plans

Single source of truth for plan pricing and seat limits. Every dashboard and the billing/trial functions read this same data live — an edit here takes effect everywhere instantly, no redeploy and no other file to remember to update. Leave seat limit blank for unlimited (the Whole School plan).

First time setting this up? Run the one-time seed to populate this list with the current correct plan values — safe to click more than once, it only ever adds a plan that isn't in the list yet, never overwrites an existing entry.

Plans
Loading plans...

Teacher Management

Invite, approve and manage teachers in your organisation

✓
—
Active
✉
—
Invite sent
⏳
—
Awaiting approval
✗
—
Inactive
Loading teachers...
Loading your plan…
Hexagonal Weakness Analysis
Ninja Maths skill mastery — larger & darker = more errors
to Analytics uses most recent test per student in range
Strands:
Number
Measurement
Stats & Prob
Skill Weakness Map — All Sources
Click "Run Analysis" to generate the hexagonal weakness map
Weak
Strong Circle size = number of students with errors · Hover for detail
Detailed Skill Breakdown
Run analysis to see skill breakdown
Score Distribution
Ninja Maths scores for filtered students
Student Skill Heatmap
Click a student name to see their full breakdown
Run analysis to see heatmap
Weak (0-34%)
Developing (35-54%)
Building (55-69%)
Proficient (70-84%)
Mastered (85%+)
Proficiency Bands
Uses the Class / Year Level filters above. A student's band comes from their most recently completed quiz.
Run Hex Analytics above, then this loads automatically.
Progress Over Time
Recorded automatically on every quiz submission
Click Load Progress to see improvement data
Board Report
A short, board-ready numeracy snapshot with real exportable charts — built to sit alongside your school's official Annual Report / Business Plan / Schools Online report, not duplicate it. Run Hex Analytics first to populate data.
ℹ️ Run Hex Analytics first to load student data — the report will use whatever filters are currently applied (class, year level, date range).
Report Preview
📑
Fill in the fields above, run Hex Analytics, then click Generate Report.
The report opens in a new tab with real, downloadable charts, ready to print or save as PDF.
Ninja Maths Training Zone
🛡️ Admin Access Required

Admin Sign In

Sign in to access the admin portal. Only pre-authorised accounts can access this portal.

or use email