⚠️ DEMO MODE ACTIVE: Firebase config not set. Data is stored in this browser only. Configure Firebase →
✏️ Unsaved changes — you have edited marks that haven't been saved yet.
›—
CBE TRACKER
Good morning
What would you like to do today?
Navigate
Students
Add, edit and manage all enrolled students by class
Enter Marks
Record scores per subject, class and exam period
Report Cards
Generate and print individual student report cards
Merit List
Ranked class standings by total marks and grade
Subject Analysis
Subject performance breakdown and grade distribution
Classes
Create and organise school classes and streams
Subjects
Define subjects, assign teachers and set weighting
Exams
Set up exam periods, terms and assessment types
Teachers
Manage staff accounts and subject assignments
Settings
School info, Firebase config and app preferences
Live Monitor
Watch marks being entered in real time across all classes
Students
Adm#
Name
Class
Level
Gender
Fee Balance
Actions
Enter Marks
🔒
Exam Locked. This exam is marked as Completed. Marks are read-only. Ask your admin to re-open it if changes are needed.
⚠️ Live Update: Another user just saved a score for a cell you are currently editing. All other cells have been updated live. Your value for this cell will take precedence when you click Save All.
#
Student Name
Score (0–100)
Grade
Generate Report Cards
Print tip: Set orientation to Portrait, paper A4, margins Minimum. Chrome gives the best output.
Merit List
Subject Analysis
Classes
Class Name
Level
Stream
Subjects
Actions
Subjects
Name
Short Code
Level
Learning Area
Actions
Exams
Name
Term
Year
Level
Classes
Status
Actions
Teachers & Staff
Name
Role
Homeroom
Teaching Assignments
Actions
Live Monitor
Real-time view of marks being entered across all classes — admin only
Active Teachers
—
saved in last 30 mins
Marks Recorded
—
across all exams
Overall Progress
—
students marked
Classes
Loading…
Class — Subject — Exam
Last updated: —
Live
Select class, subject and exam above.
🏫 School
📊 Grades
📅 Terms
⚖️ Weights
💬 Comments
🔀 Pathways
🔧 System
School Information
This is the brand name users see when they open the system. It does not appear on report cards or merit lists — only the school name below does.
Leave blank to use the Primary School Name above.
Primary Grades
Junior Grades
Term & Year Settings
Exam Weights per Term
Set the percentage weight each exam contributes to the term average shown on report cards. Weights for each term must add up to exactly 100%. If no weights are set, all exams count equally.
Auto-Comment Templates
Use {name} for student name and {grade} for grade label. One template per grade short code.
Junior School Pathway Subject Assignments
Assign subjects to each pathway. A subject can belong to more than one pathway. These assignments are used to calculate pathway averages on Junior report cards.
Firebase Configuration
Go to Firebase Console → Project Settings → Your Apps → copy the firebaseConfig object and paste it below. You can paste the raw { ... } object or the full const firebaseConfig = { ... } block — both work.
Admin Password
Backup & Restore
Danger Zone
⚠️ Security Notice: This system uses browser-based authentication, suitable for internal school networks. Do not share your URL publicly without adding Cloudflare Access protection. Student data is protected under the Kenya Data Protection Act 2019.
Clear All Data removes only localStorage data in this browser. Firestore cloud data is NOT cleared. Always export a backup first.
Add Student
⚠️ Resize photos to under 200KB before uploading to avoid Firestore document size limits.
Add Class
Add Subject
Add Exam
Add Staff
Leave empty to allow access to all classes and subjects (e.g. for admin staff).
Import Students from Excel
Excel must have columns: Name (required), Fee Balance (optional). Column order doesn't matter.
Import Marks from Excel
Rows = students, columns = subjects. First column must be Name. Subject column headers must match subject names (case-insensitive).