The dashboard
π Admin in the nav bar. Everything below is reached from this one screen.
At the top, π Overview β a count of students, teachers, parents and admins, then classes, how many pupils are actually enrolled in something, and assignments. Beside it, π’ Send Announcement and π§ Email Log.
Then fifteen cards:
The admin dashboard. None of the cards carries a waiting count.
Part 1 Β· People
Getting a family from an application to a working account is three separate steps, and the portal deliberately does not join them up.
Enrolment
π Enrollment. Six counters across the top β Families, Students, Pending, Approved, Denied, Waitlisted β then a filter bar (status, school year, a search that matches student name, parent name or application number) and Export CSV.
View opens the application in four tabs β Student, Family, Medical and Review. Review is where the admin notes, the buttons and the parent's typed signature live.
Approving
Two buttons, and the difference is whether the pupil can be signed in yet:
Approve (Active)
The pupil is enrolled and ready to be given a sign-in.
Approve (Inactive)
The record is created, but the pupil is not yet active β they can still be given a Games PIN and graded.
Either way the confirmation says exactly what it does:
Afterwards you get a Still to do list, and it is the most useful thing on the screen β "Milo needs their account opened", "Dana needs a parent login before they can be linked". Those two jobs are the next section.
Approve All does the same thing for every child in the family, and reports the same way β it names them in the confirmation, emails the family, and gives you one combined Still-to-do list. It approves as active; to approve a child as inactive, use their own button instead, which the confirmation reminds you of.
Deny asks for a reason in a prompt and emails it. Waitlist and Mark Under Review ask nothing at all and act immediately.
Opening accounts
Approving creates records. It creates no logins. Opening a login is a separate, deliberate act, and it is the same modal wherever you start from.
dana.whitfield@example.com
The activation link goes here, and this becomes the address Dana signs in with.
Example only β invented name and address.
The modal tells you which of three situations you are in:
- Address on record β the usual case. Check it and send.
- No usable address yet β the pupil signs in by PIN and the address on file is an internal placeholder with no inbox. Type the one they actually read.
- No address on record β nothing can be sent. Add one first.
Staff & parents
π₯ Staff & Parents. Four tables β Admins, Active Teachers, Former Teachers, Parents β plus βοΈ Invite Teacher at the top. Pupils are deliberately not here; every per-pupil action lives on the student hub instead.
Inviting a teacher takes an email address and, optionally, a name. Leave the name blank and the account is created as New Teacher with a machine-generated display name, so fill it in. βοΈ Reinvite on a teacher's row sends a fresh set-password link and kills any earlier one.
On a parent's row: β Link Child if they have a login, βοΈ Open account if they do not, and their linked children as removable pills.
The orphan sign-ins card
If it appears, read it. β οΈ Sign-ins with no account lists addresses that can sign in and land on nothing, and they cannot fix it themselves β they already have a login, so registering again is refused.
Parent link requests
πͺ Parent Link Requests. This is the queue a parent lands in when they do not have a link code. Each request shows who is asking, the name they typed, and either a list of possible matches or "No name match found."
Clicking a candidate asks you to confirm first, naming the parent and the child and saying what they will be able to see. A β οΈ beside a name means that pupil is already linked to somebody, and the confirmation repeats that warning β two parents on one child is ordinary, but so is a mis-click on the wrong row of a list of siblings.
The faster route for a family is a link code, which you can read out over the phone. It is on every row of Student Records under Parent Code β click to copy. Reissuing one stops the old code working but keeps everyone already linked.
Deactivating and deleting
Almost always, deactivating is the right answer.
| Person | Reversible option | What it keeps |
|---|---|---|
| Teacher or admin | Deactivate | Everything. They stop signing in; classes and history stay. Reactivate restores it. |
| Student, account | β Deactivate Account | The record entirely. |
| Student, enrolment | Mark as Past | Grades and attendance. Removes them from live rosters and teacher views, and issues a Games PIN if they had none. |
| Parent | β none β | The only irreversible option on a parent row is Delete. |
Delete asks twice: a full list of what goes, then a prompt where you type
DELETE in capitals. Every delete that cannot be undone β a person, an
enrolment, a whole class, an assignment with work handed in β uses that same
two-step gate. It removes the profile, the
login and every record attached β grades, attendance, notes, medical information,
contacts and parent links β and unsets the teacher on any class they taught. You
cannot delete yourself; your own row says "You" instead.
Part 2 Β· The roster
Student records
π Students. Search by name or email, filter by Active / Past / All and by grade. Then β Add Student, Import from CSV, π₯ Find duplicates and Manage Groups.
Eight columns, and three of them are the ones you came for:
| Name | Grade | Status | Games PIN | Pickup | Parent Code | Actions | |
|---|---|---|---|---|---|---|---|
| Milo Whitfield | Grade 6 | milo@example.com | Active | K7RM β» | #14 π | ABCD2345 β» | Open Β· Mark as Past |
| Junie Whitfield | Grade 9 | β | Active | β Generate | N/A | QN48PLZ2 β» | Open Β· Mark as Past |
Example only β invented names and codes.
- Games PIN β shown in plain text on purpose, because pupils forget and staff have to read it back. β» issues a new one and kills the old one.
- Pickup β the family's pickup number. A blank here means the child cannot be called at pickup, so the gap is the point.
- Parent Code β click to copy. Reissuing keeps existing links.
Mark as Past asks for a date left and an optional reason, then tells you exactly what moved β classes archived, attending days cleared, activities ended, grades and attendance kept.
The student hub
Open on any row. A full-screen view with the pupil's GPA and quarters in the header and twelve tabs. It is the only "view one student" screen in the portal β teachers reach the same hub from π₯ My Students β π View Details, so what you see is what they see, less the Account tab.
| Tab | What's in it |
|---|---|
| π Classes | Enrolments, per-class grades, β Enroll in Class, π Generate Report Card. |
| βοΈ Profile | Name, grade level and enrolment type β admin-only fields; teachers see them greyed out. Also the Games PIN and the sign-in link. |
| π Records | Five sub-tabs: Contact Info, Emergency Contacts, Medical Info, Waivers, Grades. |
| π Attendance | Their record. |
| π Notes | What staff have written. |
| β οΈ Strikes | Count, history and decay dates. |
| πͺ Family | Linked parents, and Link New Parent. |
| π° RTC | Balance and awards. Teachers can award; overriding the balance is yours. |
| π³ Skill Trees | Progress through the subject trees. |
| π Weekly Activity | What they did this week. |
| π Activity Log | Their history over a range you pick. |
| π Account | Sign-in, Games PIN, parent link code, enrolment β and the danger zone. Admins only; teachers do not see this tab. |
Emergency contacts live under π Records. Each has a Can Pickup flag, and it is ticked by default on a new contact β untick it deliberately for anyone who may not collect the child. Marking a contact Primary clears the flag from the others automatically.
Merging duplicates
π₯ Find duplicates on Student Records. This exists because staff pre-add a pupil and the pupil later signs up themselves β the records end up on one row and the login on the other.
Two ways in:
- Merge any two profiles β for the ones an exact-name match cannot spot: Ari and Arian, Sam and Samuel, a misspelling. Pick Keep this one and Remove this one.
- Exact-name groups β anywhere two profiles share a name outright.
Either way you get a live preview and then a review step. Read the warnings; they are the whole value of the tool:
"These have different dates of birth on file β they may be two different children."
"β¦ is left over and stops working. If that is the one they use, keep the other profile instead."
The review step separates things to decide (both profiles hold a value and they disagree β you choose), settled without asking (only one has a value) and records that just combine. Then it asks once more, and says plainly that it cannot be undone.
Merge two at a time. A group of three will tell you to.
Strikes
β οΈ Student Strikes. Maximum three per pupil, and they decay after three months. Anyone at three appears in a red card at the top under π¨ Students at Maximum Strikes (Review Required).
+ Strike opens a modal that shows current β after and escalates its wording: first strike, second strike, then "This will be their THIRD strike and they will be flagged for review." A reason is required, and parents are emailed.
Part 3 Β· The school
Quarters
βοΈ Settings β π Grading Periods β π Manage Quarters. One quarter is current; nothing works it out from today's date, so it has to be set by hand.
The current quarter decides which assignments teachers see, what the due-date picker will accept, and which grades the gradebook is showing. If a teacher says their assignments have vanished, check this first.
Subjects and grade bands
βοΈ Settings β Subjects & Grade Bands β Edit lists. This is the school's own vocabulary, and it is editable β you do not need anyone to change code to add a subject.
| Column | What it does |
|---|---|
| Subject | The name on the class form and the report card. |
| Drive group | Which top-level Drive folder a class's work files under. Core, Tech, Arts, Life, Health β and Other, for the timetable blocks that are not a taught subject: study hall, props, cover. |
| Other names | Aliases, comma separated. A class already typed in with an older spelling resolves to this row without being renamed. |
The second tab does the same for grade bands β the bands classes are assigned to, with the grades each one covers. Adding a band is how you split Highschool or add a Kindergarten band without anyone touching code.
The bell schedule
π Bell Schedule β the time blocks that periods and breaks hang off. Classes show their times from here, so a class in a period with no block reads "no time set" to everybody.
Blocks can be reordered with the β and β buttons or sorted by time, and the screen warns about overlaps and out-of-order blocks. Staff duties can be tied to a block, and then they follow the bell β change the time here and the duty moves with it.
Rename, on the Every day tab, gives a block a clearer name β Period 5 (Lunch) β up to 40 characters. It renames the block on every day at once and changes only the label, never the times. Teachers see that name on the rows of their week view.
Pickup, and who is late
⚙️ Settings → 🚗 Pickup. Dismissal has always carried a real timestamp — the board shows the time each child was called, to the minute, and it keeps the first time if somebody taps twice. What this adds is the line that decides which of those times count as late.
| Setting | What it does |
|---|---|
| End of day | A pickup after this is late. School time, not the browser’s. Default 2:45 pm. |
| Hold the email for | The first late child starts the clock. Everyone else collected late inside that window joins the same email. Default 60 minutes. |
| Send it to | Where the report goes. Default learn@rivertech.me. |
| Email about late pickups | Off means nothing is sent. Times are still recorded either way, so you lose the email and not the record. |
The email arrives once, naming each child, their number, the time they were collected and how many minutes past the cutoff that was.
The board itself is π Pickup, on the Attendance screen and on every teacher's home screen. Its search runs as you type, and a family card shows only the children today's register has in, with a line to show the rest. You also get a Without a number tab, and New family number, that teachers do not.
Children who are not called at pickup
Some walk, some drive themselves, some leave with a sibling off-site. Until now the only way to say so was to leave their family number blank — and the board reads a blank number as a job not yet done, so the children who needed no chasing were exactly the ones it kept flagging.
On a pupil’s record, beside their pickup number, there is now Not called at pickup. It asks how they leave, and that reason shows on the record afterwards. An exempt child:
- stops counting towards Without a number, so that figure is only ever real gaps;
- is never named in a late email, because they cannot be late for something they are not called to;
- can still be dismissed on the board as normal — the record is unaffected.
Emergency drills
π¨ Emergency drill is on the Attendance screen and every staff home screen. Any member of staff can start one, deliberately β whoever smells smoke should not have to find the office first. It puts one shared roll call on every staff screen, and pulls anyone already in the portal onto it within about twenty seconds. The teacher guide walks through the board.
The count to watch is unaccounted for. Children due in today with no register entry are counted separately as unknown and never as accounted for, because nobody knows whether they are in the building β which is also why taking the register every morning matters.
Only an administrator sees Turn off. It shows how many are still unaccounted for and unknown, then asks "Which was this?" β It was a test, Complete β all clear, or Keep it running. There is no default; pick deliberately, because that answer is saved with the drill.
Classes
π« Classes β every class in the school, not just yours. Filter by teacher, and tick to include past teachers when you are looking at history. A class shows both its teachers where there are two.
Changing who teaches a class is done from here. Only staff with a working sign-in can be assigned β anyone without one is listed but not selectable, because there would be nothing to attach the class to.
Attendance and reports
π Attendance Reports is the school-wide view: search and filter records by date, pupil and status, and take the register from the same screen with π Take Attendance.
π Grade Reports is by quarter and class, and is where report cards and transcripts are generated in bulk.
Everything else
| Screen | What you do there |
|---|---|
| π Activities | Create a sport or club, assign a coach, set the season and whether it needs a tryout, and manage the roster. |
| π¦ Materials | The staff supply queue β pending, in progress, completed, declined. |
| π’ Facilities | Rooms, and the booking queue. A room is either auto-approved or needs you. |
| π§ Staff Duties | The rota. You get a Set up tab that teachers do not β add a duty, add positions, fill the cells. Whoever is on duty sees it at the top of their home screen that day. |
| π° RTC Management | Balances, the transaction log, categories, privileges and cosmetics; you open on Balances. Teachers only get the Bank and IRL Store tabs, and open on the IRL Store. |
| π₯ Manage Groups | The cohorts, from Student Records. Riven can also move a pupil between them β "move Ari from Homeschool Younger Tuesday to Homeschool Older Tuesday" β taking them off one register and onto the other in one step. That is admin-only. |
| π Documents | Write and publish school documents, with visibility set to everyone, staff only, or admin only. |
| π§ Email Log | What went out, and what failed to. |
| π’ Send Announcement | School-wide. Teachers can only announce to their own classes. |
Handle with care
The short list of things that either cannot be undone or do not warn you properly. Worth reading once before you need it.
| Action | Why it's on this list |
|---|---|
| Approving a parent link request | It asks first and names both people, but it cannot be undone from that screen. Read the β οΈ marker. |
| β Link Child from a parent's row | Clicking a pupil in the list links them straight away β there is no confirm step. |
| Deleting anyone, or a class | Two steps β the list of what goes, then type DELETE β and then everything attached goes. Deactivate, Mark as Past or Close Class instead, nearly always. |
| Turning off a drill | Ends it for every member of staff at once. Look at the unaccounted number it shows you first. |
| Merging profiles | Cannot be undone. Read the date-of-birth and record-count warnings. |
| Waitlist / Mark Under Review | Act immediately with no confirmation at all. |
| Regenerating a Games PIN | The old one stops working straight away. Reissuing a parent code is the gentler one β existing links survive. |
Quick reference
| I need to⦠| Go to |
|---|---|
| Process a new family | π Enrollment β View β Approve (Active) |
| Give a pupil a sign-in | π Students β Open β π Account β β Activate account |
| Give a parent a sign-in | π₯ Staff & Parents β βοΈ Open account |
| Connect a parent to a child | πͺ Parent Link Requests, or read them their Parent Code |
| Add a teacher | π₯ Staff & Parents β βοΈ Invite Teacher |
| Resend a set-password link | The person's row β βοΈ Reinvite / Resend invite |
| Tell a pupil their games PIN | π Students β the Games PIN column |
| Fix two records for one child | π Students β π₯ Find duplicates |
| Start a new term | βοΈ Settings β π Manage Quarters β β Set Current |
| Change a class's teacher | π« Classes |
| Name a period "Period 5 (Lunch)" | π Bell Schedule β Every day β Rename |
| End a drill | The drill board β Turn off |
| Fix "no time set" on a class | π Bell Schedule β add the missing period block |
| Stop someone signing in, reversibly | Deactivate, or Mark as Past for a pupil |