Enterprise console
A denser, sharper surface for counselors managing a real caseload. Same data as the overview, presented as a working tool rather than a dashboard.
Why it looks different
The student product is deliberately soft and playful. A counselor showing this to a principal needs the opposite. The console applies a separate visual layer, tighter radii, flatter surfaces, denser type, neutral colour, real data tables, while reusing the same components underneath, so both products stay in one design system.
Roster table
Sortable and filterable, with these columns:
- Student name, email and open task count
- Class year, GPA (with scale), intended major
- Colleges tracked and submitted
- Essays final / total, recommenders asked
- Days since last active
- Cohort tags
Sort by any of name, class, GPA, colleges, essays or last-active. Filter by cohort or by red flag. Values that warrant attention colour themselves, a GPA under 2.5, fewer than three colleges, fewer than two recs asked, two weeks of inactivity.
Cohorts
Tag students with the groups you actually think in, first-generation, ED applicant, needs full aid, athlete recruit, arts portfolio, IEP/504, at risk. Six colours, custom names, and eight suggested tags to start from. Filter the roster by any of them.
Bulk reminders
Select any number of students, pick an opportunity from the library's next 120 days of deadlines, and push it to all of them as a dated reminder. It prefills the message and the link; you edit before sending. Each lands on the student's dashboard as a counselor task.
This is the feature that replaces the all-staff email nobody reads.
Your checklist
A private to-do list for the counselor, optionally linked to a specific student and due date. Students never see it. It exists because the roster tells you what to do and there was nowhere to write down that you did it.
Roster import
Upload a roster export from Scoir, Naviance or a spreadsheet. Students are matched by email; GPA, GPA scale, class year, class rank, class size and school name are filled in where your export has them. Existing student-entered values are preserved when a column is absent.
Column names are matched loosely, so all of these work:
email, emailAddress, studentEmail
gpa, cumulativeGPA, weightedGPA
gradYear, graduationYear, classYear, classOf
rank, classRank
classSize, cohortSizeThe import reports how many students it updated and how many rows had no matching account.
This reads an exported file, it is not a live Scoir API connection. A real-time sync requires a partner agreement and per-district credentials from Scoir. The importer is built so that a live integration can replace the file step without changing anything downstream.
Tutorials
Video walkthroughs of the console live at /schools/tutorials, alongside these written docs. The list is defined in src/data/tutorials.ts: add an entry with a YouTube id and it appears. An entry without one renders as “coming soon” rather than a broken player, so the page can ship before the videos exist.
Embeds use youtube-nocookie.com. A counselor watching a tutorial should not be tracked into an advertising profile for doing their job.
Transcripts
Filed from a student's page in the console. A transcript is the school's record of the student, so students cannot upload one themselves and cannot see or download the copy you file. It does not appear in their document vault. Roster membership is the authorization check on upload, download and delete alike.