Copied to Clipboard!

Class Action

Standard
Map
Grid Settings
Good Morning
Welcome to Class
โ€”
PREVIOUS CLASS
0%
ATTENDANCE
0%
COMPLETE AFTER THIS WEEK
โ€”
NEXT CLASS
Semester Overview
Roadmap
Saved
Notes
Topic Generator
READY
Click to Generate
Cases
Click โ€œGenerate Caseโ€
Statutes
Click โ€œGenerate Statuteโ€
Regulations
Click โ€œGenerate Regulationโ€
Strategic Group Creation
Groups
Present/Late Only
Activity Timer
: :
00:15:00
Socratic Cold Caller

Ready to select...
Click a seat or press spacebar.
Unseated:
Present
Late
Absent
Session Call Log
Attendance
Select Course
Configuration
Current Course
Edit


Appearance
Institution Colors
These colors drive the top bar accents, action buttons, highlights, and related UI accents for this course.
Roster Import
Student Settings
Name Expertise (up to three) Action
Local Data Storage (This Course)

All data is saved in this browser's local storage / site data for this course. Clearing site data, changing browser profiles, or opening a moved or renamed copy of the file can make data appear missing. Download JSON backups regularly.

Cloud Backup JSONBIN.IO ACCOUNT REQUIRED
Last Backup: --:--
Multi-Course Backup

Export all course data from all courses in one comprehensive backup file. This includes students, lessons, attendance, and settings for every course you've created.

Factory Reset (This Course Only)

This will permanently erase all saved data for this tool on this browser. This action cannot be undone.

NTFY Inbox
Publishing permissions/moderation are controlled by your ntfy setup.
Documentation

Class Action Overview

Class Action is a local-first classroom workflow app packaged as a single HTML file. It combines lesson planning, attendance, group creation, Socratic calling, timing, course management, and inbox-style student questions into one browser-based workspace.

Class Action is easy to run, free to use, and does not require a server or database setup. The tradeoff is that your data lives in browser storage, so it can be lost if site data is cleared or if you switch browsers, profiles, or file locations. Export backups regularly, or use a FERPA-compliant cloud option if you choose to sync data. Compliance remains the user's responsibility.

Format

The HTML file is the app itself. Your live course data is stored separately by the browser, not written back into the file.

Designed for

It is built for instructors who want a lightweight teaching tool without a server install, account system, or traditional software package.

Multi-course model

Each course keeps its own roster, lessons, settings, scratchpad, seating map, theme, and inbox history.

Recommended setup

We recommend using the same browser profile, keeping the file in the same location, and exporting backups regularly.

In this guide: Quick start, page guide, utility controls, settings reference, data storage and file behavior, backups and recovery, and troubleshooting.
Quick start

First-time setup

  1. Place the HTML file in the folder where you plan to keep it long-term for that course or teaching setup.
  2. Open the HTML file in your preferred browser from that location.
  3. Open Settings from the floating gear.
  4. In Main Config, confirm the current course, total classes, timer default, and quick links.
  5. In Students, paste a comma-separated roster or add students one by one.
  6. Return to Today, set the class number, date, and topic, then start planning.

Recommended daily workflow

  1. Open the correct course from the quick switcher.
  2. Update the class number, date, and topic on Today.
  3. Build the roadmap and notes, then mark attendance.
  4. Use Groups and Socratic once attendance is set.
  5. Export backups regularly from Storage & Backup.
Page guide

Today

  • The main teaching workspace for the current class session.
  • Use the class number, date, and topic fields to define the active lesson.
  • The topic and date together activate the class title line and related context-aware displays.
  • The roadmap and notes panels auto-save as you type.
  • Privacy toggles blur those panels when you want to hide content in the room.
  • The progress card opens the semester overview modal.

Topics

  • Generates a prompt topic plus supporting case, statute, and regulation references.
  • Use it for cold opens, discussion prompts, or quick hypotheticals.
  • Generated law outputs can be clicked to copy.

Groups

  • Builds groups using random, anchor, or cluster strategies.
  • Topic pills let you associate grouping with a selected topic.
  • The Present/Late Only toggle limits results to students marked present or late.

Socratic

  • Standard mode supports single cold calls, group calls, and a session call log.
  • Class Session logs and filters calls; Study Hall / Free does not.
  • In standard mode, press Space to repeat the last call style.
  • After a student is selected, press Shift+S, Shift+W, or Shift+P to log strong, weak, or pass scores.
  • Map mode adds a seat map with call, attendance, and edit modes plus grid settings.
  • Seat-map layout and map settings are saved per course in the browser.

Timer

  • Supports custom time entry, quick presets, start/pause, reset, and +3 minute extension.
  • The mini-timer in the top bar links back to the full timer view.
  • Use Test Audio to verify alarm playback on the current device.

Attendance

  • Tracks attendance by class across the semester.
  • Attendance status drives filtering in Groups and Socratic workflows.
  • Green = Present, yellow = Late, red = Absent.
Utility controls

Course switcher

The course title in the top-left area becomes a quick switcher when more than one course exists. Use it for fast course changes without opening the full course manager.

Inbox

The inbox icon opens the ntfy-powered question feed. The modal can show live messages, a QR code, and quick controls for sound, QR display, clearing, and close.

Scratchpad

The scratchpad stores a per-course to-do list and free-form notes. It is meant for instructor-only working notes and persists in browser storage.

Dark mode and settings

The floating moon/sun button toggles theme quickly. The floating gear opens Settings. On mobile, utility access is available through the slide-out navigation menu.

Settings reference

Main config

  • Shows the current course and links to the course selector.
  • Stores course label, timer default, total classes, and quick links.
  • Use Save Config after making changes here.

Appearance

  • Controls dashboard statistics visibility, welcome-card visibility, dark mode, and institution colors.
  • Institution colors drive accents, buttons, and related UI highlights for the current course.

Students

  • Initialize the roster by pasting comma-separated names.
  • Add students individually and edit expertise values.
  • Clear Roster removes students while keeping other course settings intact.

Storage and backup

  • Export the current course as JSON.
  • Export attendance, roster, and call log as CSV files.
  • Restore local data from JSON, push to cloud, restore from cloud, export all courses, or factory-reset the current course.

Inbox

  • Controls inbox icon visibility, sound alerts, sort order, and ntfy connection settings.
  • Enter the base server URL and topic to connect the question feed.
  • Treat free/public ntfy topics as open unless you configure permissions or moderation on the ntfy side.
  • The free ntfy tier is limited to about 250 messages per day, so heavy classroom use may hit the cap.

Documentation

  • This tab is the in-app manual for setup, workflow, storage, and troubleshooting.
  • Use it as the first stop when onboarding a new user or migrating a course setup.
Data storage and file behavior

What is stored

  • Global data includes the course registry, last active course, and some shared backup credentials.
  • Per-course data includes roster, lesson archive, config, groups, theme, scratchpad, inbox cache, seating layout, and map settings.
  • The HTML file itself stays unchanged while you teach; the browser stores the live data separately.

What counts as the same app

  • Same browser, same browser profile, and the same file location usually reuses the same saved data.
  • Overwriting the file in place usually preserves access to the same stored data.
  • Moving, renaming, or duplicating the file can make the browser treat it like a separate app.
  • Different browsers or different browser profiles keep separate storage.
  • Treat private or incognito windows as temporary.

Where the data actually lives

  • It lives in the browser's local storage / site data, not inside the HTML file and not in a normal document folder beside it.
  • Open chrome://version or edge://version to see the active browser profile path.
  • The browser manages the underlying storage files inside that profile directory.

Important note about local files

  • This app runs from a local file: URL.
  • In current browsers, local files usually get storage scoped by file URL, but local-file behavior is browser-defined rather than guaranteed by the web platform.
  • For reliability, do not rely on moving the file and keeping the same saved data.
Best practice: use a dedicated browser profile for teaching, keep the app file in a stable location, and overwrite the old file in place when upgrading to a newer version.
Backups and recovery

Backup options

  • Download Current Course Backup exports one course as JSON.
  • Download ALL Courses Backup exports every course in one file.
  • CSV exports are best for attendance, roster summaries, and call logs.
  • Cloud backup requires a JSONBin account, master key, and bin ID.

Restore and migration

  • Restore Local Data overwrites the current course from a selected JSON file.
  • Restore/Overwrite from Cloud replaces local course data with the cloud version.
  • Before changing browsers, browser profiles, or file locations, export a fresh backup first.
  • For a new app version, the safest path is to back up, replace the file in place, and reopen it in the same browser profile.
Troubleshooting and notes

Common issues

  • If the title line or related class-context features are blank, make sure both the date and topic are filled in.
  • If Groups or Socratic seem empty, confirm that the roster exists and attendance has been marked.
  • If inbox messages do not appear, verify the ntfy server, topic, and your publishing permissions.
  • If saved data appears missing, confirm you are using the same browser, the same profile, and the same file location, then restore from backup if needed.
Class Action 2026