Skip to content

Features

NesiciCoding edited this page Aug 12, 2026 · 10 revisions

Features

A detailed, educator-focused reference for every major tool in Rubric Maker.

Finding your way: each section notes where the tool lives in the app. Captured screenshots appear inline as images; any remaining 📷 marker means the screenshot still needs a manual capture (see Screenshots and Manual Capture).


Onboarding & first run

When you open Rubric Maker for the first time (or in a new browser), you see the landing page, then a short onboarding wizard that asks for your role (teacher/student/other) and, for teachers, school context. Everything set there can be changed later in Settings → General.

A one-time guided tour (React Joyride) walks you through the main screens. It never returns after you skip or finish it, but most pages also have a "Tour this page" button — see Help & page tours.

First-run onboarding welcome step

The first onboarding step.


Rubric Builder

Access: Assessments → Rubrics → New rubric (or open an existing one)

Criteria and levels

A rubric consists of one or more criteria (rows) and performance levels (columns). Add as many of each as you need. Every cell can contain a description, a point value, and optional sub-items. Criteria can be dragged to reorder.

Rubric Builder with criteria and level columns

Rubric Builder with two criteria and the level columns.

Scoring modes

Mode How it works
Total Points Each criterion has a raw point value. The final score is the sum of the selected levels.
Weighted Score Each criterion has a weight (percentage). The final score is a weighted average, shown as a percentage.
Single-Point Rubric Each criterion has three columns: below expectations, meets expectations (the criterion descriptor itself), and exceeds expectations. The below/exceeds columns carry comments instead of separate level text.

Advanced level options

  • Sub-items: attach a checklist to any level. Students can be scored on individual items inside the level, giving finer feedback without changing the rubric structure.
  • Point ranges: instead of a fixed point value, define a minimum and maximum. The grader picks the exact score with a slider.

Expanded level options: sub-items and point-range slider

The expanded level options: sub-items and a point-range slider.

Standards integration

Link any criterion to educational standards (CCSS, NGSS, state standards, and more) via the Common Standards Project API. The picker needs an API key configured once by an admin (Admin → Integrations); saved favourites appear at the top of the picker for quick access.

Standards picker modal

The standards picker modal.

Assessment frameworks

Criteria can be linked to one of three descriptor frameworks:

Framework Use case
CEFR (A1 → C2) Language proficiency — dominant in European language education
IB Learner Profile 10 IB attributes (inquirer, thinker, communicator, …)
Bloom's Taxonomy 6 cognitive levels (remember, understand, apply, analyse, evaluate, create)

A framework selector in the Rubric Builder chooses which descriptors are offered. CEFR badges appear in the grading interface and on exported reports.

CEFR descriptor picker linked to a criterion

CEFR descriptor picker linked to a criterion.

Grammar linker

Beyond frameworks, criteria can be tagged with English grammar standards grouped by topic (e.g. Past Simple → regular/irregular verbs), each with a CEFR level (CEFR-J Grammar Profile). Linked grammar is auto-checked in scanned essays during grading — a per-criterion pass/fail breakdown that can be applied as a comment (rule/NLP-based detection, no AI).

Cambridge English exam labels

Access: Settings → General → "Show Cambridge exam labels"

When enabled, every CEFR badge (A2 → C2) gains a second label naming the matching Cambridge English Qualification main-suite exam, e.g. a B2 badge shows "B2 · FCE".

CEFR level Cambridge exam
A2 A2 Key (KET)
B1 B1 Preliminary (PET)
B2 B2 First (FCE)
C1 C1 Advanced (CAE)
C2 C2 Proficiency (CPE)

A1 has no main-suite exam, so no label appears at A1. Labels show up wherever a CEFR badge is rendered (CEFR overview, student profiles, reports) — no other configuration needed.

Vocabulary lookups (optional): in the Rubric Builder's vocabulary panel, each word gets a "Look up" button that fetches its definition, phonetic transcription, and part of speech from the free Dictionary API (dictionaryapi.dev) — no key or account required. CEFR level comes from the bundled CEFR-J word list, not the dictionary. Lookup only fills empty fields, fails silently offline, and never overwrites teacher-entered values.

Rubric versioning

Every save snapshots the rubric automatically (capped at 20 + any manual versions). Open the version history to compare and restore any previous version. Versions are stored separately from the rubric record so they don't bloat sync traffic.


Grading Interface

Access: Rubrics list → select a rubric → Grade (pick a student)

Student selection

Pick a student from the class roster before grading. Manage students from the Students page; you can also select two or more students to grade as a group (see Group grading below).

Scoring interactions

  • Click a level cell to select it as the student's score for that criterion.
  • Toggle sub-item checkboxes to score checklist items within a level.
  • Drag the slider (point-range levels) to set an exact score.
  • Card or grid layout: toggle between the stacked criterion cards and a compact criterion × level grid (multi-level rubrics). In the grid, selecting a cell opens a per-criterion detail panel with a fine-tune points slider, sub-item chips, a manual override, and the comment composer. Single-point rubrics keep the card layout.
  • Score modifiers: apply a percentage, point, or level adjustment with a reason (e.g. late penalty) — the reason is stored with the grade.

Grading interface with level cells, sub-item chips, and feedback composer

Grading with level cells, sub-item chips, and the feedback composer.

Criterion × level grid layout

The criterion × level grid layout (multi-level rubrics).

Single-point rubric layout during grading

Single-point rubric layout during grading.

Keyboard shortcuts

Shortcut Action
15 Select a performance level for the focused criterion
AZ then 15 Jump straight to a criterion's level (e.g. B + 2)
Tab / Shift+Tab Move focus between criteria
Ctrl+S Save and advance to the next student
? Open the shortcut cheat-sheet overlay

Keyboard-shortcut cheat-sheet overlay

The ? cheat-sheet overlay.

Comment bank

Pre-write feedback snippets and tag them by criterion, topic, or CEFR skill/level. While grading, open the bank and click a snippet to insert it into the feedback field. When a criterion has a run of low scores, the bank opens with a Suggested group of comments tagged with that criterion's CEFR skill or level. Insertions are counted, so the Comment Bank page's Sort control can surface your most-used comments first.

Comment bank open during grading

Comment bank open during grading.

Voice grading

Click the microphone button in the feedback field to dictate feedback by voice. Uses the browser's built-in Speech Recognition API (Chrome or Edge).

Attachments & document viewing

Attach a student's work to the graded rubric:

  • Word documents (.docx) — rendered inline (Mammoth → formatted view, with a "view as sent" toggle to the original rendering)
  • PDFs — rendered inline via PDF.js; text layer searchable
  • Images — displayed directly; scanned images without a text layer go through Tesseract.js OCR

Select any text in the document view to leave an inline document comment (anchored note with resolve/delete), shown in a sidebar below the document. Commenting is grading-side only and never modifies the submission.

Overall feedback

Below the rubric grid, add a general comment for the whole submission. It appears on the exported PDF report.

Tablet and iPad support

The grading interface is optimised for classroom tablets: enlarged tap targets, swipe-to-next-student, a floating save button pinned above the on-screen keyboard, and thumb-sized speaking-session controls. Tested at 768 px (iPad portrait) and 1024 px (iPad landscape).

Group grading

Access: Rubrics list → select a rubric → pick 2+ students → grade

Saving any group member's grade fans scores and comments out to the rest of the group (each student keeps their own record). In the Rubric Builder, individual criteria can be excluded from the fan-out with a per-criterion "Group grading" toggle — so a mixed rubric (shared project score + individual participation criterion) grades correctly.

Group-grading student multi-select

The group-grading student multi-select on the Rubrics list.


Comparative Grading

Access: Rubrics list → select a rubric → Compare

Grade two students side-by-side in a split-screen view — useful for calibrating scoring consistency. On phones/small tablets the split view reflows to a single stacked column.

Split-screen comparative grading

Split-screen comparative grading.


Co-grading & Moderation

Access: from a graded submission → send for second marking · Moderation queue: Assessments → Moderation

  • Send a graded submission to a colleague for an independent second marking (reuses the peer-review screen and math, teacher-to-teacher).
  • Disputes above a configurable point threshold surface in the Moderation queue with a per-criterion delta breakdown and a keep/accept resolution. The sidebar shows a pending-dispute count; the queue sorts oldest-first with a days-pending badge.

Moderation queue with per-criterion delta breakdown

Moderation queue with per-criterion delta breakdown.


Tests, Practice & Placement

Access: Assessments → Tests

Rubric Maker includes a full test engine separate from rubrics and essays: multiple question types, practice vs. assessment modes, adaptive placement testing, a live proctoring monitor, and a reusable question bank.

Full documentation: Tests & Practice


Question Bank

Access: Library → Question Bank

Save any test question to a reusable bank (bookmark icon in the Test Builder), then insert it into other tests. Bank items carry a structured CEFR level and optional tags; whole reading/listening passages (content, audio, and questions) can be bundled as one reusable section item. Import a set of questions from JSON (a downloadable sample shows the shape), export the bank as JSON for backup or sharing, and bulk-manage items (delete, tag, CEFR level) from the bank page.

Full documentation: Tests & Practice


Flashcards

Access: Assessments → Flashcards

Anki-style flashcard decks scheduled with the FSRS spaced-repetition algorithm:

  • Deck types: Vocabulary or Grammar. Grammar decks tag each card with a grammar item, feeding the grammar practice recommendations on learning paths.
  • Cards: front/back, optional phonetic (IPA) and part-of-speech fields; import from .csv, .xlsx, .docx, or .txt (.xls is not supported — save as .xlsx/CSV).
  • Assignment: assign a deck to a class; students study it in their portal with Again/Hard/Good/Easy ratings.
  • Insights: per-student progress by learning stage, focus items ranked by lapses/difficulty.
  • Students can also create their own decks (private by default, optionally shared read-only with their teacher).

Full documentation: Flashcards


News Flashes

Access: Assessments → News Flashes

Write short articles (rich-text editor) with a summary teaser, optional CEFR level, tags, and an optional link to an existing flashcard deck, test, or rubric. Flashes broadcast to every student of the creating teacher and appear as a chronological timeline in the student portal with an unread badge. The teacher-side list shows a read-receipt count per flash with an expandable list of who has read it.

News Flashes list with read-receipt counts

News Flashes list with read-receipt counts.


Marketplace & Department Sharing

Access: Assessments → Marketplace (requires cloud sync and a school)

  • Marketplace: publish a rubric, test, flashcard deck, or question-bank item for colleagues at your school to browse, clone, and upvote — filterable by type.
  • Department sharing: mark a rubric or comment-bank item read-only-visible to every teacher in your school with one toggle. Unlike the Marketplace, this shares the live rubric, not a cloned snapshot.

Student Management

Access: Students

  • Add students individually or import a class list from CSV (re-importing updates existing students by email; optional "remove students not in this file" mode keeps the roster in lockstep with an SIS export).
  • Organise students into classes with a Dutch school year (groep 7/8, jaar 1–6) and VO track (VMBO-BB/KB/TL, HAVO, VWO — groep 7/8 classes have no track). A student's own track can differ from their class default by at most one adjacent level.
  • Classes can carry a custom color or picture for fast visual scanning.
  • View a student's full grading history on their profile page, which links to their CEFR overview, learning path, vocabulary, and flashcard data.
  • Generate share codes and QR codes for student-facing features (self-assessment, essay submission, feedback, test links).

Students roster with class tabs

Students roster with class tabs.

Student profile with history, CEFR badges, and links

Student profile: history, CEFR badges, links.


Essay Management

Access: Assessments → Essays

A standalone essay workspace parallel to Tests:

  • Builder: prompt (rich-text), optional CEFR-linked rubric, word/time limits, assignment to a class, per-student share links, submission-code import, and a live monitor link.
  • Student side: anonymous share-code submission with a distraction-free focus mode (exit control, draft-saved badge, sidebar with prompt/tips). With Supabase connected, essays hand in automatically; the code is the fallback for local mode.
  • Import: paste a submission code to pull the essay from the database, or import essay text from an uploaded DOCX/PDF.
  • Exports: from the Export page, export one or several essays as Markdown, DOCX, or PDF — separate files or combined — optionally with the rubric grade and grammar/vocabulary analysis attached.
  • Calendar: due dates export as .ics so they land in a shared calendar.

Document analysis

When a graded submission has an essay attachment, an Analyse Document button appears in the grading interface. It runs the built-in NLP pipeline (no AI):

  • Vocabulary highlighting — target vocabulary items highlighted inline
  • Grammar flagging — common errors flagged with suggestions
  • Comment bank insertion — detected vocabulary items added to the bank in one click

Results persist with the grade. Powered by vocabularyAnalyser.ts, grammarChecker.ts, textExtraction.ts, and cefrVocabularyProfiler.ts.


Self-Assessment & Peer Review

  • Self-assessment: share a link/QR code with students. They score themselves against the rubric criteria (CEFR Can-Do statements); their self-scores appear alongside the teacher's.
  • Peer review: students review each other's work using the rubric; peer scores are stored separately and visible to the teacher.
  • Peer review analytics: from a rubric → Compare/Peer Review → Analytics (/peer-analytics/:rubricId) — consistency scoring (mean absolute deviation of peer scores vs. the teacher's baseline), per-reviewer leniency bias, a comment-frequency heatmap, and round-over-round trends.

Speaking Sessions

Access: Assessments → Rubrics → open a rubric → Grade → Speaking (or directly from a graded submission)

Structured oral assessment with six pre-built dimensions aligned to Dutch VO CEFR targets (VMBO-BB through VWO). Audio (and, with cloud sync, video) recordings can be attached and play back from the student's portfolio. A Graded/Practice toggle lets a student record an ungraded, retakeable attempt before the graded one — kept as a separate record.


CEFR & Language Assessment

Access: Students → CEFR Overview (whole class) · a student's profile → CEFR

  • CEFR overview: per-student and whole-class proficiency across Reading, Writing, Speaking, and Listening. A track/year expected-range band (per-track, per-school-year Dutch curriculum benchmarks) shows a student's level as ahead, on track, or behind for their specific class year and VO track.
  • Standard mastery targets: set an expected mastery percentage for a linked standard (CCSS, NGSS, Dutch kerndoelen, or custom) per school year/VO track from Settings → Teaching; surfaces the same ahead/on-track/behind status on learning-goal views.
  • Learning paths & interventions: rule-based (no AI) rubric recommendations for CEFR skills where a student trails the class average, plus flags for three or more consecutive low scores on the same criterion or skill — from each student's profile. A separate Grammar practice section suggests a matching flashcard deck and practice test after repeated low scores on grammar-linked items.
  • Grammar Mastery Profile: one row per grammar item merging evidence from test accuracy, flashcard spaced-repetition progress, and rubric criteria linked to that grammar point.
  • Placement testing: author a placement test (Test Builder → Mode: Placement) with multistage, staircase, or generator engines — see Tests & Practice.

Whole-class CEFR overview grid

Whole-class CEFR overview grid.

Per-student CEFR detail with track/year band

Per-student CEFR detail with track/year band.

Student learning path with recommendations

Student learning path with recommendations.


Vocabulary Profiling Dashboard

Access: Students → Vocabulary

Aggregates document-analysis data across a class or student into CEFR-banded vocabulary distribution charts (A1 → C2 stacked bars), backed by the bundled CEFR-J/OpenCEFR word lists. Export the filtered word list to CSV. Definition enrichment uses the free Dictionary API (no key); CEFR levels never depend on it.


Statistics & Analytics

Access: Insights → Statistics

Overview

  • Class average, median, highest, and lowest scores (raw points or percentage depending on the scoring mode).
  • A Custom Views gallery offers curated chart combinations you can show/hide and recolour, each exportable as PNG.

Charts

Chart What it shows
Score histogram Distribution of grades across the class
Criterion heatmap Which criteria students perform best and worst on
Criterion radar Per-criterion performance on a radar/spider chart
CEFR progress How many students are at each CEFR level
Class trend Average score over time across grading sessions
Learning goal chart Aggregate attainment per learning goal
Placement progress Estimated CEFR level across placement attempts (Elo-scaled, student view)

All charts update in real time as grading data changes.

Statistics dashboard with class average card and charts

Statistics: class average card and charts.

Multi-class comparison

The Compare view lets you select up to 4 classes on the same rubric: grouped average bars, a per-criterion gap chart, and a multi-class trend line. A collapsible Insights panel flags a struggling class (<55% avg), a weak criterion (≥15 pp below the class average), or the largest inter-class divergence (≥20 pp gap). Track (VMBO/HAVO/VWO) and school-year dropdowns filter the class selector.

Multi-class Compare view with insights panel

Multi-class Compare view with insights panel.


Activity Dashboard

Access: Insights → Activity Dashboard

A single grid tracking what's been assigned and submitted across a whole cohort:

  • Rows grouped by activity type (Rubrics / Tests / Essays); columns are classes, filtered by school year and track.
  • Each cell shows a submitted/total count badge.
  • Act directly from the grid: link/unlink a rubric to a class, bulk-assign an essay to everyone not yet enrolled, assign ungraded students to a colleague, or jump into a test's builder. Rows can be drag-reordered (per teacher, persists).

Activity Dashboard grid

Activity Dashboard grid.


Messages & Notification Center

Access: Students → Messages (inbox) · Topbar bell → Notifications

  • Messages: portal-authenticated students can ask a question about a rubric grade, test, essay, or anything else; teachers reply from the Messages inbox or start threads themselves. Requires Supabase.
  • Notification Center: the bell shows overdue grading, unread messages, and pending moderation reviews; /notifications has the full, filterable history. Dismissing an overdue-grading or moderation item snoozes it and syncs across devices; unread messages can only be cleared by reading them.
  • Email digests: each of the three categories has its own opt-in nightly digest (Settings → Administration → Email Digest, self-hosted deployments only — needs the server-side digest job and SMTP).

Messages inbox with a student thread

Messages inbox with a student thread.

Notification Center with the three categories

Notification Center with the three categories.


Export

Access: Insights → Export (or from within a graded rubric)

Format Content
PDF Formatted student report with rubric grid, scores, and feedback — one student or the whole class
Word (.docx) Raw rubric data; or upload a custom .docx template with mail-merge fields for a branded report
CSV Flat table of scores per student per criterion, for Excel or a gradebook
Markdown Essay content export (separate or combined files)
JSON backup Full export of all app data (rubrics, students, grades, comments, settings)
Gradebook presets Magister / SOMtoday column formats
Calendar Essay and test due dates as .ics

Word mail-merge templates: upload a .docx with placeholders like {{studentName}}, {{totalScore}}, {{criterion_1}}; the engine fills them per student. A sample template is at public/sample-template.docx. Style templates can also set heading/body fonts and colours for essay and period-report exports.

Printing directly: Print Rubric triggers window.print() — a @media print stylesheet hides chrome, enforces page-break rules, and applies portrait/landscape from the rubric's format setting.

Export page with format selection

The Export page with format selection.


Supabase Sync

Access: Settings → Administration → Database → Connect & Sync

An optional backend that mirrors your data to Supabase (PostgreSQL + Storage + Auth). Enables:

  • Syncing rubrics, students, and grades across devices
  • Sharing rubrics/classes with colleagues (viewer or editor) plus the Marketplace and department sharing
  • The student portal (self-assessment, essays, tests, flashcards, messaging)
  • Storing attachments and templates in Supabase Storage, removing the localStorage size limit for files

The app continues to work offline (with reduced capabilities) when Supabase is configured. See Supabase Sync for full setup.


Privacy Page

Access: Sidebar → Privacy (shield icon) or /privacy

An in-app GDPR/AVG page covering all data categories and where they're stored, the legal basis for processing student data, and rights (erasure, portability), plus contact info for the Dutch supervisory authority (Autoriteit Persoonsgegevens).

The in-app privacy page

The in-app /privacy page.


Backup & Restore

Access: Settings → General (export backup, all users) · Settings → Administration (full backup/restore, admin)

  • Export backup: downloads rubric-maker-backup.json containing all rubrics, students, grades, comment bank, question bank, and settings.
  • Import backup: upload a previously exported JSON file to restore (this overwrites existing data — export first; a preview modal shows a summary of the file before applying).

Themes & Appearance

Access: Settings → General

Theme bundles

One-click bundles that set accent color, UI font, and export styling together (single atomic update; overriding the accent afterwards clears the bundle):

Bundle Accent UI font Export style
Academy Blue Inter Calibri, blue headers
Nature Green Nunito Calibri, green headers
Midnight Indigo Source Sans 3 Calibri
Warm Orange/amber tones
Slate Cool grey tones

Theme bundle picker

Theme bundle picker.

Tonal accent scale

The active accent generates a full tonal scale (--accent-50--accent-900) via CSS color-mix(), driving hovers, badges, charts, and borders consistently in light and dark mode.

Export fonts & reading mode

Five decorative Google Fonts (Playfair Display, Oswald, Bebas Neue, Special Elite, Courier Prime) are available for PDF/DOCX exports via the rubric's Format tab, with a live preview. A dyslexia-friendly reading mode and light/dark themes round out the appearance options.

Settings → General with language, theme, and Cambridge labels

Settings → General (language, theme, Cambridge labels).


PWA & Offline

Rubric Maker is an installable PWA: open it in a browser, choose "Install app", and it runs like a desktop app with an offline-capable service worker. Without Supabase, everything still works from localStorage (single device); with Supabase, the service worker never caches API requests so a cached response can't mask a failed sync.


Admin Dashboard

Access: Main menu → Admin (admin role required; Settings → Administration for admins too)

Tab What it does
Users Manage user accounts and roles
Schools School records used by the marketplace and department sharing
Database Supabase connection, Push local → database, Pull database → local, sharing management
Integrations Standards API key (Common Standards Project) with CORS setup instructions
Data Search students and permanently delete or anonymize (scrub PII from) individual records
Retention Data-retention configuration (see below)
Audit Searchable, category-filterable log of role changes, deletions, grade saves, rubric edits, exports, and auth events, with CSV export (backed by the audit_logs table + pg_cron retention job)
Archive Soft-delete a student, then Restore or Anonymize them later (anonymizing scrubs PII while keeping aggregate grade history)

Roles: teacher (renamed from user), admin, observer, and student, enforced via Supabase RLS.

Roster sync: CSV upsert updates existing students by email on re-import; an optional "remove students not in this file" mode keeps a class roster in lockstep with a school's SIS export.


Accessibility

Rubric Maker targets WCAG 2.1 AAA where physically possible (button/large-text contrast uses the 4.5:1 bar; link/body text targets 7:1). src/utils/contrastCheck.ts audits every theme bundle, accent preset, and CEFR badge color in CI.

  • Keyboard: full keyboard dragging in the Rubric Builder, a global :focus-visible outline, and a translated skip-to-content link.
  • Focus management: modals trap focus and restore it to the triggering element on close.
  • Screen readers: drag handles and proctoring flags carry translatable aria-labels; every page is covered by an axe-core page suite in CI (all 39 previously-uncovered pages added in Phase 31).

Help & Page Tours

  • "Tour this page" — an interactive Joyride walkthrough is available on most major pages (Rubric Builder, Export, Statistics, Grading, Comparative Grading, Essays, Tests, Activity Dashboard, CEFR Overview, Speaking, Student Profile, Students, and more).
  • Contextual tooltips — a hover/click help icon (HelpPopover) next to less-obvious controls, including the score modifier, the LWW sync indicator (Admin → Database), and proctoring flags on Test Results / Live Monitor.
  • In-app Docs page — the sidebar question-mark icon opens the Docs page with a route map, glossary, and keyboard-shortcut reference.
  • All tour and tooltip text is translated across all 5 locales.

Something missing or out of date? This wiki is verified against the main branch of the repository — check the Contributing page for how to report issues.

Clone this wiki locally