ScriptSense
User Manual
Everything you need to capture, process, review, and archive handwritten student work using ScriptSense.
Getting Started
Signing In
Navigate to scriptsense.akakala.com in any modern browser. Enter your email address and password, then click Sign in or press Enter.
After signing in, your name and institution appear in the left sidebar. ScriptSense remembers your session — you will stay signed in on the same device across browser sessions until you explicitly sign out.
If two-factor authentication is enabled on your account, a second screen appears after your password is accepted. Open your authenticator app, enter the current 6-digit code, and click Verify. Codes refresh every 30 seconds — if one expires while you are typing, wait for the next.
Two-Factor Authentication
Two-factor authentication (2FA) adds an extra layer of sign-in security. When enabled, ScriptSense asks for a 6-digit code from an authenticator app after your password — so your account stays protected even if your password is ever compromised. 2FA is opt-in and set up per account directly from the sidebar.
To set up 2FA: Click Enable two-factor authentication in the sidebar, below the Google Drive button. A setup key appears — open an authenticator app such as Google Authenticator or Authy, choose to add an account by entering a setup key manually (there is no QR code to scan), and enter the key shown. Type the 6-digit code your app then generates to confirm, and click Confirm. From that point on, every sign-in requires your password followed by a fresh code.
If you lose your authenticator device: Contact your administrator. They can reset your 2FA from the Users panel, which removes the requirement and allows you to sign in with your password alone until you set up a new authenticator device.
Connecting Google Drive
Before approving your first transcription, connect your Google account so that approved work is saved automatically as Google Docs. Click Connect Google Drive in the bottom-left of the sidebar and follow the Google sign-in prompt. The account picker will suggest your school's Google Workspace accounts — choose your school account. Once connected, the button changes to Google Drive connected.
The connection persists across sign-ins on the same device. To disconnect, click Google Drive connected in the sidebar and confirm the prompt. You can reconnect at any time using the same button.
Dashboard
After signing in you land on the Dashboard — a grid of class cards. Each card shows the class name and type, the number of enrolled students and assignments, and spell/grammar chip indicators showing whether correction is currently on or off for that class. A class you share with one or more colleagues also shows a co-taught · N teachers note; see Co-teachers.
Your account-level spell and grammar defaults are shown in the page header as a reference. The greeting at the top adapts to the time of day. Click Edit defaults next to the chips to change your own spelling and grammar defaults — these set the baseline for any new classes created from that point on. Existing classes and assignments that already have their own setting are not changed. See Spell & Grammar Controls for how the inheritance chain works.
Click any class card to open the assignment list for that class.
Assignments
The Assignment view lists all assignments for the selected class. Each row shows the assignment type, name, due date, spell/grammar settings, and the number of submissions received. Click a row to open the student submission list for that assignment. Click Edit on any row to update the assignment's title, type, language, prompt, due date, or spell/grammar settings — changes to spell/grammar only affect submissions that have not yet been processed.
Creating an Assignment
Click + New assignment at the top right of the list and complete the dialog:
| Field | Notes |
|---|---|
| Title | e.g., "Causes of WWI Essay" |
| Type | fiction, non-fiction, math, chemistry, biology, history, poetry, or other — tells Claude which transcription style to apply |
| Language | English (default) or Spanish — sets the OCR recognition language and tells Claude which language to expect. Choose Spanish for assignments written in Spanish. |
| Prompt / question | Optional. The assignment question or instructions, passed to Claude as context for a more accurate transcription |
| Due date | Optional. Shown in the assignment list for reference |
| Spelling correction | Toggle on to have Claude fix spelling errors in transcriptions for this assignment |
| Grammar correction | Toggle on to have Claude fix grammar errors |
| Also assign to other sections | Optional. If you teach the same course across multiple class sections, tick the classes you want this assignment to appear in. Each selected class gets its own independent copy — separate roster, separate submissions, separate correction history. Only visible if you have other classes. |
The spell and grammar settings you choose here become the default for every submission in this assignment. They can be overridden per student at upload time — see Spell & Grammar Controls.
Student Submissions
The Work List shows one row for every enrolled student in the selected assignment.
| Column | What it shows |
|---|---|
| Student | Student full name |
| Status | Current processing status — see Processing Status |
| Spell fixes | Number of spelling corrections Claude made (shown only when spelling correction is on for this submission) |
| Grammar fixes | Number of grammar corrections Claude made (shown only when grammar correction is on) |
| Google Doc | A direct link to the approved transcription Doc, once the submission has been approved |
| Action | Upload if no submission exists yet; Review once submitted |
Students who have not yet submitted appear on a lightly shaded row. The + New submission button at the top of the list is disabled automatically once every enrolled student has a submission.
Uploading a Submission
Click Upload next to a student's name, or click + New submission at the top of the list to select any student who has not yet submitted.
-
Select the student from the dropdown. This is pre-selected if you clicked Upload directly on their row.
-
Add pages. Drag and drop files onto the drop zone, or click it to browse. Supported formats: JPEG, PNG, WEBP, PDF. Up to 20 pages per submission. Thumbnail previews appear below the drop zone as pages are added, and individual pages can be removed before uploading.
-
Check accommodation overrides. The spelling and grammar toggles start at the assignment's current settings. Adjust them here if this individual student needs different treatment — for example, turn spelling correction off for a student whose accommodation requires preserving their original spelling.
-
Click Upload & process.
ScriptSense saves the images immediately and queues the submission for processing. You will see a Queued badge right away. Processing begins within one minute and is typically complete within two to three minutes.
Bulk Upload
If you collect papers from the whole class at once and scan them into a single PDF, Bulk Upload lets you hand that one file to ScriptSense and have it split and attribute each paper automatically — no need to upload students one at a time.
Click Bulk Upload at the top of the Work List (next to + New submission), choose the scanned PDF, and click Upload. ScriptSense saves the file immediately and a status banner appears at the top of the page.
Processing happens in the background — the system splits the PDF at each student header, reads the student's name from the header using the same AI identification used in the mobile app, and matches it to the class roster. This typically takes one to two minutes. The banner updates automatically; there is no need to refresh the page.
Once processing is complete the banner changes to Batch ready — N paper(s) detected with a Review button. Click it to open the review modal:
- Each detected paper is listed with a thumbnail of its first page, the page range it spans, and the name ScriptSense read from the header.
- A dropdown beside each paper lets you confirm or change the student assignment. Any paper the system could not confidently identify will have no student pre-selected — you must choose one before importing.
- A Discard button removes a paper from the import (for example, a blank cover sheet or a page that was mis-detected as a new paper).
Once every paper has a student selected or has been discarded, click Confirm & Import. The individual submissions are created in the background; the banner updates to Importing papers… and the Work List refreshes automatically when complete. Each imported submission enters the normal processing queue and moves through the same OCR and Claude pipeline as a manually uploaded submission.
Assignment Template
Bulk Upload relies on a registration header at the top of each student's first page to detect where one paper ends and the next begins. For the splitter to work reliably, student papers must be completed on the ScriptSense assignment template — or on any page that replicates the required header format.
The header occupies the first two lines of the page:
| Line | Content | Purpose |
|---|---|---|
| Line 1 — Marker line | A dark mark at the far left edge and a dark mark at the far right edge. Nothing else on this line. | ScriptSense detects the contrast pattern to identify the start of a new student's paper. Any other ink on this line can interfere with detection. |
| Line 2 — Name/Title line | Student name and assignment title, in any layout | Claude reads this line to identify the student and match them to the class roster. |
The Review Panel
When a submission is ready — status Needs Review — click Review to open the three-panel view. This is where you read the transcription, make any corrections, and approve the final text.
The student's original handwritten page. Zoom and pan to examine closely.
Raw text from the OCR engine, exactly as recognised — unpolished, with misreads intact.
Claude's polished transcription. Edit freely, then approve to save.
The top bar shows the student name, class, assignment, current status badge, correction count chips (once processing is complete), and the Save & approve button. A word-change counter updates in real time as you edit panel 3. A Delete submission button is also present for any submission that has not yet been approved — use it to remove a bad scan and re-upload from scratch. A Next student → button appears whenever there is another Needs Review submission waiting in the same assignment — click it to jump straight to the next one without returning to the Work List. The button cycles through the roster in order and disappears once all submissions have been reviewed.
An Accommodation chip pair in the top bar shows the spell and grammar settings in effect for this individual submission. Click Edit beside the chips to change them. If the submission has not yet been approved and is in Needs Review or Error status, a Reprocess now toggle lets you immediately regenerate Claude's revision with the new setting — useful if a student's accommodation was discovered or updated after upload. Approved submissions cannot be reprocessed, but the accommodation record is still updated.
For multi-page submissions, numbered tabs appear above panel 1. Clicking a tab switches all three panels to that page simultaneously.
Either of the first two panels can be collapsed by clicking its title bar — this gives more room to the panels you are actively working with. Collapse preferences are saved across sessions.
Panel 1 — Original Image
The student's handwritten page displayed at full resolution. Use these controls to navigate:
| Action | How |
|---|---|
| Zoom in / out | Click the + / − buttons in the bottom-right corner, or scroll with your mouse wheel |
| Pan | Click and drag |
| Fit to panel | Double-click the image, or click the ⤢ button |
| Pinch to zoom (trackpad / touch) | Standard two-finger pinch gesture |
Panel 2 — OCR Output
The raw text extracted by the OCR engine, displayed exactly as recognised — including misreads, broken words, and any formatting artefacts. This panel is read-only and is provided as a reference so you can see what Claude started from when producing its revision.
Panel 3 — Claude Transcription
The polished transcription produced by Claude AI. This is the text that will be saved to the student's record when you approve. The panel is fully editable — click anywhere to begin typing.
Once processing completes, correction count chips appear in the top bar. An OCR fixes chip is always shown — it counts characters or words where Claude corrected a likely OCR engine misread (e.g. a cursive "a" scanned as "u") rather than the student's own writing. These are transcription-accuracy fixes and are applied regardless of the spell and grammar accommodation settings. Spell and grammar chips appear only when those corrections are turned on for this submission:
✓ 2 OCR fixes ✓ 4 spell fixes ✓ 2 grammar fixes
The ↩ Reset button in the top bar discards your edits and restores Claude's original output at any point before you approve.
Approving a Transcription
When you are satisfied with the text in panel 3:
-
Make any edits you wish directly in panel 3.
-
Click Save & approve in the top bar.
ScriptSense will:
- Save your final text as the student's approved transcription
- Record any differences between Claude's output and your edits for future improvement
- Create a Google Doc in your Drive titled with the student's name, filed into ScriptSense / [Class] / [Assignment] — so all submissions for the same class and assignment land in one folder automatically
- For a co-taught class, share that class folder with your co-teachers as editors, so the Doc appears under Shared with me in their Drive
- Return you to the Work List, where the student now shows Approved and an Open Doc ↗ link
Processing Status
Every submission moves through a sequence of statuses as it is processed. The current status appears in the Work List and in the review panel top bar.
| Status | Meaning |
|---|---|
| No submission | No upload has been made for this student on this assignment yet |
| Queued | Upload received; waiting for the next processing cycle (up to one minute) |
| OCR… | The OCR engine is reading text from the uploaded image |
| Claude… | Claude AI is producing the transcription from the OCR text |
| Needs Review | Processing is complete; the transcription is ready for your review and approval |
| Approved | You have reviewed and approved the transcription; a Google Doc has been saved |
| Error | Processing failed; contact your administrator — details are captured in the system log automatically |
| Deleted | The submission's content has been erased — either automatically by the institution's data retention schedule or manually by an administrator. The submission record itself remains visible so the audit trail is intact, but the original images and transcription text are no longer available. Google Docs already created from this submission are not affected. |
Processing typically completes within two to three minutes of upload. The review panel updates automatically while processing — there is no need to refresh the page.
Spell & Grammar Controls
ScriptSense can instruct Claude to correct spelling errors, grammar errors, both, or neither. This is controlled at four levels. Each level inherits from the level above and can override it independently.
A green ✓ Spell chip indicates correction is on at that level. A grey chip indicates it is off. The chips appear on class cards, assignment rows, and the work list header.
When to turn correction off
Turn spelling or grammar correction off when you want to preserve the student's original writing exactly as written — for example, to assess writing mechanics directly, or to honour an accommodation that requires unmodified output. When both are off, Claude transcribes what the student wrote without changing any errors (other than OCR misreads, which are always corrected).
When to turn correction on
Turn correction on when the assignment focuses on content rather than writing mechanics — for example, a history essay where you need a clean, readable text to share with the student or include in academic records.
Administration
Users with the admin role see an Admin link in the left navigation sidebar. The Admin view has four tabs: Users, Students, Classes & Assignments, and Usage & Costs.
Managing Users
The Users tab lists all accounts for your institution. Each row shows the person's name, email, role, default spell and grammar settings, last login date, and account status.
| Role | Permissions |
|---|---|
| faculty | Upload, review, and approve submissions; access their own classes and assignments |
| admin | All faculty permissions, plus access to the Admin panel for user management, roster management, and cost tracking |
To add a user: Click + Add user and fill in the name, email, temporary password, role, and default spell/grammar settings. Share the temporary password with the user directly — they cannot reset it themselves during the pilot.
To edit a user: Click Edit on their row. You can update their name, reset their password, change their role, or disable their account. Disabling prevents login without deleting the user's data or history.
To reset a user's two-factor authentication: If a faculty member has lost their authenticator device and cannot sign in, click Reset 2FA on their row in the Users tab. This removes the 2FA requirement so they can sign in with their password alone. They can then set up a new authenticator device from the sidebar.
Students, Classes & Assignments
The Students tab and Classes & Assignments tab let administrators manually build out the institution's roster — useful for institutions not connected to a Student Information System, or to make adjustments between sync cycles.
| Tab | What you can do |
|---|---|
| Students | Add, edit, or deactivate student records. Each student has a name, optional email address, and optional SIS reference number. |
| Classes | Add or edit classes (sections), assign one or more teachers (see Co-teachers below), set the subject type, and manage enrolments — adding or removing students from a class. The Teachers column lists every teacher on each class. |
| Assignments | Add assignments to any class and configure their type, language, due date, and spell/grammar settings. |
Co-teachers
A class can have more than one teacher — for example a subject teacher and a learning-support teacher, or a substitute taking over from a colleague. Every teacher on a class sees it on their Dashboard and has full access to its assignments, submissions, review panel, and approvals.
In the Classes tab, click Edit on a class. Use + Add teacher to add a row for each teacher, and the Primary selector to mark one of them as primary. Remove a teacher with the Remove button. A class must always have at least one teacher and exactly one primary.
- The primary teacher is the class's main point of contact — the teacher ScriptSense treats as the anchor for Student Information System sync. Co-teaching aside, it behaves like the single "teacher" a class had before.
- Whichever teacher approves a submission owns the resulting Google Doc, filed in their own Drive under ScriptSense / [Class] / [Assignment]. That class folder is automatically shared with the other teachers on the class as editors, so approved Docs are visible to the whole teaching team regardless of who approved them.
- When Blackbaud reports a faculty member on a section that already exists in ScriptSense, they are added to that class as a co-teacher automatically on their next login.
- A user who still teaches a class cannot be deleted — remove them from the class first, or reassign the class to another teacher.
Data Erasure
ScriptSense retains student submission content only as long as required under your institution's data retention policy, then erases it automatically. Administrators can also erase data manually at any time.
Erase a student's data: In the Students tab, click Delete data on a student's row. This anonymises the student record (replacing their name and email with a placeholder), then erases all submission content, uploaded images, and correction history for that student across every assignment. The student row and any work rows remain visible in the UI so cost and audit records are not broken. Any Google Docs already created are not affected — remove those separately from Google Drive if needed.
Erase an assignment's data: In the Assignments tab, click Delete data on an assignment's row. This erases the submission content and images for every student in that assignment. The assignment itself is marked Deleted rather than removed, so usage history stays intact.
Usage & Costs
The Usage & Costs tab shows estimated API usage and operating costs for the selected month. Choose a month and click Load to refresh the data.
| Card | What it shows |
|---|---|
| Submissions | Total submissions processed through the full pipeline this month |
| OCR.space | Estimated cost, number of OCR calls made, and the remaining monthly quota |
| Claude API | Estimated cost broken down by input tokens, output tokens, and page-identification calls |
| Fixed costs | Manually entered recurring expenses such as hosting or subscriptions |
| Total estimated | Combined variable and fixed cost for the month |
Adding a fixed cost: Enter a description and dollar amount in the fields below the summary cards and click + Add. This is useful for tracking hosting or subscription fees alongside API costs in a single view. Click Remove on any row to delete it.