A 10-minute tour of every feature in the order you'll need them. Read once, then use the anchored links when you forget something.
§1 · Classes and join codes
Every course lives inside a class. A class has its own rooms, prompts, announcements, assignments, gradebook, and syllabus — nothing is shared between classes unless you put it there.
When you create a class, Scholar generates a six-letter join code (e.g. KPRJWN). Share it with your students. They sign up, click Join a class, paste the code, and they're in. No invites, no email lists.
Students who forget the code see "Join a class" on their Home screen. Teachers can re-share it from the class header at any time. To rotate the code, open the class header menu and pick Rotate join code — old code stops working immediately, already-joined students stay.
§2 · Rooms — discussion vs. chat
A class has two kinds of rooms:
- Discussion rooms — one prompt at a time, threaded replies, graded. Use these for the readings and arguments you're actually building the course around.
- Chat rooms — flat, casual, no prompt, not graded. Use these for #common-room, #midterm-help, #office-hours — places the class can talk without it counting toward anything.
Hit the + next to Rooms in the sidebar. Pick discussion or chat. Give it a short hash-name (#media-ethics). Discussion rooms also ask for a character — open discussion, debate, reading circle, or office hours. The character tints the room and seeds a framing template when you write the prompt. You can change the character later.
To rename or delete, hover the room in the sidebar. The pencil and trash icons appear on the right.
§3 · Prompts
A prompt is the question that anchors a discussion room. Open the room, switch to the Prompts tab (or click Write a new prompt in Do next on the right sidebar), fill in:
- Question — one sentence. What are they arguing about?
- Source reading — pick from Library or type a free-form citation. Library readings open inline for students.
- Framing — a paragraph. Give them something to push against. You can Import from a .txt, .md, .rtf, .html, .docx, or .pdf file — Scholar extracts the prose and drops it in.
- Due / minimum words / replies required — gates the Coming up widget and rubric reminders.
- AI integrity check — on by default. Scores posts against stock AI vocabulary plus the samples you've added in Calibration. Students never see these scores.
Only the most recent prompt in a room is "live". Older prompts become history but all their replies stay visible.
§4 · Library & file import
Library is where you stash the readings for the course — paste the text once, and any prompt can attach it. Students click "Open the reading" in the thread header and read inline without leaving Scholar.
Three ways to add a reading:
- Paste the text directly into the textarea.
- Upload a file — .txt, .md, .rtf, .html, .docx (Word), or .pdf. Scholar extracts the prose; formatting is discarded on purpose (readability over fidelity).
- Paste a URL — Scholar records it; students open it in a new tab.
File import uses your browser's own parser — nothing is uploaded to a server during extraction.
§5 · Announcements
Announcements go to the whole class. Open Announcements in the sidebar → Write an announcement. Give it a headline and a body. Optionally pin it — pinned announcements sit at the top of every student's screen until they acknowledge.
Edit or delete by hovering a card. Students get a notification when you post; pinned ones also open a banner over the forum that they dismiss with Got it.
§6 · Assignments & grading
Assignments are formal written work — response papers, exercises, reading checks. Different from discussion posts: they have a due date, a points value, and a rubric.
Create one via Assignments → Write an assignment. Fill title, description, due date + time, points, late-work policy, and a rubric (one line per criterion, format Criterion : points).
Students submit via the assignment card. Their drafts autosave every half-second. You grade by opening the submission — score out of total, written feedback, save. The student sees the grade and feedback in the same modal they wrote in.
§7 · Gradebook & CSV export
Gradebook is a row per student, a column per graded item (assignments + prompts with required posts). Click any cell to open the submission or the thread post. Empty cells mean "not submitted / not posted".
To export for your registrar, Do next → Export participation (CSV). Produces a file with name, email, section, posts, replies, and flagged-post count. Open in Excel / Sheets / Numbers.
§8 · AI integrity & calibration
Scholar scores every graded post against twelve independent signals that tend to distinguish human student writing from LLM drafts: stock-essayist vocabulary ("delve into", "tapestry"), first-person absence, uniform sentence length, over-use of em-dashes, uniform sentence starts ("Furthermore… Moreover… Additionally…"), missing contractions, hedge density, low lexical diversity, flat punctuation, citation absence, fake-balance structure ("on one hand… on the other hand"), and phrase overlap with AI samples you've added.
High-signal posts surface in the Integrity tab with a list of which signals fired and why — not a magic percentage. You make the call.
Calibrate to your class. Paste three or four AI drafts you've actually seen (from ChatGPT, Claude, Gemini) into the Calibration tab. Scholar extracts 3-word phrases that appear across ≥ 2 samples and uses them on top of the built-in patterns. The more samples, the better the signal for your cohort.
Students never see scores, flags, or the calibration set. The integrity review exists to give you a starting place for a conversation, not to publish a verdict.
Use Run detector self-check on the Calibration tab to verify the detector against a known-AI and known-human baseline.
§9 · Syllabus
Every class gets a syllabus page. Edit via Syllabus → Edit syllabus. Course title, term, meeting times, office hours, description. Blank lines become paragraph breaks. Students read this once, at the start; teachers read it when they forget their own office hours.
§10 · Privacy, FERPA, & student data
What Scholar stores. Name, school email, role (student / teacher), section, posts, replies, submissions, grades, rubric feedback, and the calibration samples you add. Nothing else.
Where. Your school's own Supabase project (Postgres). Scholar is a static web app — it has no server of its own and no analytics. Row-level security policies in the database (see supabase/schema.sql) decide who can read what, not the browser.
Who sees what. Students see their own grades and feedback; teachers see the whole class's. Anonymous posts show "anonymous" to students but the real author to teachers — that's the point of anonymous posting. A student's AI-integrity score is visible to teachers only.
FERPA. Grades and identifiable education records are private to the student and authorized school officials. Scholar enforces that with RLS. To delete a student's data, open Institutional settings → Currently verified and remove them, or drop their auth row in Supabase — cascade deletes wipe their posts.
Data retention. Nothing auto-expires. A student's record lives until you delete it or drop the class.
§11 · Accessibility & keyboard
Scholar aims for WCAG 2.1 AA. Body text contrast ≥ 4.5:1. Focus rings visible on every interactive element — press Tab to try. Reduced-motion mode honored via prefers-reduced-motion. Icon-only buttons have aria-labels; forms have proper <label> elements.
Keyboard shortcuts: ? opens a full reference. The high-traffic ones: / search, n new post, r reply to focused, j/k next/previous post, ⌘↵ post.