Public beta label now appears in app headers
I added a small beta pill next to the Markflow brand across dashboard, login, and the public homepage nav so it is clearer that the product is still in beta. I also updated the login wording to reflect public beta rather than invite-only testing.
Project reports now support editable AI comments
Project report comments are now easier to work with before export. You can review and edit AI-generated comment text, track comment inclusion state, and decide what gets included in the final report pack. - Thanks Liam for the feedback that inspired this improvement!
Project submission file handling is more reliable
I tightened how project submission files are tracked through setup and marking, including storage path tracking, safer cleanup behaviour, and better handling of grouped uploads. This was aimed at reducing edge-case file mix-ups and harder-to-recover upload states.
Marking safeguards improved for score and parsing edge cases
I added stronger guardrails in the marking pipeline: AI-suggested scores are now clamped to each question's max marks, multiple-choice parsing is more fault-tolerant, and reasoning/confidence handling was tightened to reduce confusing edge-case outputs.
Reports now have clearer section navigation
I added tabbed navigation to report views so it is easier to move between sections without losing context while reviewing class and student outputs.
Optional comments added to project report generation
Project report generation now supports optional comments, so you can choose when to include comment content instead of forcing the same output style every time.
Import student submissions from Google Classroom
Project assessment setup can now import student submissions directly from Google Classroom. Connect your account once, then pick a class and assignment to bring files in without downloading and re-uploading — submissions are matched to students automatically, and Google Docs, Slides, PDF, and Word/PowerPoint files are all supported. - Thanks to Morgan for the motivation to get this off the ground!
Upload checks now catch unsupported files earlier
The upload area now validates file types before processing and shows clearer error messages straight away, so setup issues are easier to fix without trial and error.
Faster PDF loading during marking
Improved PDF engine startup so the first document opens more quickly and repeated loads feel smoother during long marking sessions.
Clearer finish-state feedback in project marking
Added loading and error states when finalising project assessments, so it is clear when Markflow is still working and when action is needed.
Fixed failed upload handling in project setup
Resolved a setup issue where failed file uploads could leave assignment progress in a confusing state. The upload path now reports failures cleanly and keeps setup recoverable.
Fixed occasional submission-to-student mismatches
Resolved a pairing bug where assignments could include files outside the current upload set. Pairing is now constrained to the uploaded file IDs for that run.
Student comments now included in project reports
Project reports now include saved student comments, giving a fuller record of feedback in one export.
Criterion scores now autosave more reliably
Added debounced autosave for project criterion scores, reducing save noise while keeping your latest edits safely stored.
Resizable marking side panel
You can now resize the right-hand panel in project marking, and Markflow remembers your preferred width for later sessions.
Fixed stuck AI marking runs with timeout recovery
Resolved cases where AI marking could appear to stall without a clear recovery path. Added timeout handling and retry behaviour, with clearer progress messaging while processing.
Save status is now visible while editing marks
Project marking now shows save state updates with clearer labels, so you can see when changes are saving and when they are complete.
Fixed premature score validation in project marking
Resolved a validation issue where score checks could run before all expected AI scores were loaded. Validation now waits for the full score set first.
Smoother paid setup flow for assessments
Improved payment handling during assessment setup for both exam and project workflows, making upgrade and setup steps more consistent.
Fixed malformed AI reasoning responses
Resolved a parsing issue where malformed AI reasoning payloads could break parts of project marking. Added repair logic before parsing so marking can continue more reliably.
Fixed duplicate submission processing
Resolved a processing bug where duplicate submission files could be included in a marking run. Submission handling now enforces uniqueness before processing.
Fixed empty-state crashes in marking runs
Resolved edge cases where empty student or question sets could trigger unstable behaviour during marking. Added explicit empty-state handling and safer submission path normalisation.
Fixed setup step loading from shared links
Resolved a navigation bug where the setup wizard could open on the wrong step when using a step query parameter. Step state now initializes from the URL correctly.
Fixed occasional stuck key-processing state
Resolved a state-reset bug where marking key processing could remain in a streaming state after completion. The key state now resets cleanly at the end of processing.
Better setup feedback for marking key issues
Improved error handling around marking key question processing with clearer messages, so setup problems are easier to diagnose and correct.
Save and reload questions and criteria during setup
Assessment setup now persists questions and criteria so you can return and continue without re-entering your work.
Subscription and checkout flow upgrade
Added a fuller subscription checkout and plan-switching flow, including clearer upgrade pages and more consistent credit messaging across billing screens.
Open uploaded PDFs in a new tab
Added a direct option to open PDFs in a separate browser tab, which helps when you need a larger view alongside marking.
Fixed double-triggered AI scoring runs
Resolved a pipeline issue where AI scoring could start more than once for the same flow, causing duplicate work and confusing progress states. Scoring triggers are now guarded to run once.
Drag-and-drop uploads with improved previews
File upload now supports drag-and-drop and clearer previews, making submission checks faster before marking starts.
Group submission support in setup
Assessment setup now supports group submissions and validates grouped uploads more reliably, helping classes with shared project files.
Smarter group matching from uploaded files
Improved group identification and mapping from submission filenames, reducing manual correction during setup.
Very large PDFs are now handled more predictably
Submissions over 100 pages are now truncated with a clear UI indicator, preventing oversized files from disrupting the setup flow.
Manual page override for PDF processing
Added a page-override option for PDF processing, giving you more control when scans need custom page handling.
Clearer AI reasoning and criteria display
Updated the project marking UI so AI reasoning and criterion details are easier to read during review.
Download marked papers
Added the ability to generate and download marked papers per student, including overlays for marked content.
Numeric input for band criteria
Band-based criteria now support direct numeric mark entry, making moderation and adjustments faster.
Asynchronous OCR with live status polling
OCR now runs asynchronously with status polling, so processing continues smoothly while the interface reports progress.
Stronger OCR error handling and student status updates
Improved OCR submission error handling and per-student pipeline state updates, making failed runs easier to spot and recover.
Keyboard shortcuts
Added a keyboard shortcut panel in the marking interface. Press → or Enter to accept a mark and move to the next student. All shortcuts are listed in a tooltip for new users.
PDF viewer scrolls to the question automatically
When moving between students on the same question, the PDF now scrolls to the correct position automatically. No more manually hunting for the answer on the page — it appears exactly where the previous student's answer was.
Smoother page transitions
Reworked the overlay that covers PDF navigation. The neutral paper-coloured overlay now clears exactly when the new page is ready — not on a timer — so there's no flash of blank content.
Reuse a marking key from a previous assessment
When setting up a new exam assessment, you can now borrow the marking key from a previous one. Useful when re-using the same question paper or running the same test across multiple classes.
Bulk class scan splitting
You can now upload a whole class's exam booklets as a single scanned PDF. Markflow splits it into individual student files automatically before matching and marking.
Per-student pipeline status
The marking sidebar now shows a status indicator for each student as OCR and marking runs — so you can see exactly which students have been processed and which are still in progress.
Smarter file matching
Improved the algorithm that matches uploaded PDF files to student names. Now uses fuzzy matching (Levenshtein distance) so minor spelling differences or filename variations no longer cause mismatches. Low-confidence matches are flagged for review.
PDF viewer with AI confidence overlay
The marking interface now shows the student's actual submission alongside the AI suggestion. A coloured highlight overlays the answer region — green for high confidence, amber for medium — so you can see exactly what the AI is responding to.
Fixed missing questions in marking runs
Resolved a bug where blocks of questions were silently dropped during a marking run. The root cause was the SSE stream parser splitting lines across network chunk boundaries — fragments were discarded without any error. Fixed with a line buffer that holds incomplete lines across reads. Validated: two consecutive clean runs, zero missing questions.
Fixed PDF rendering on Vercel
OCR page conversion was silently failing in production because ImageMagick isn't available on Vercel's serverless runtime. Replaced with a WASM-based PDF renderer that runs anywhere — no native binary required.
OCR now triggers automatically before marking
Previously, if OCR hadn't run for a student, marking would silently fall back to a less accurate path. Now Markflow checks OCR status for each student before marking and triggers it automatically if needed.
Fixed the long-standing marking gap bug
Resolved the root cause of intermittent missing questions across marking runs. The AI was occasionally using the human-readable question label (e.g. Q5b) as the question ID instead of its database UUID — those lines were silently discarded. Fixed with an explicit instruction in the prompt. Validated on a 48-page exam: 48/48 questions marked, zero gaps.
Multiple choice support
Exam assessments now support multiple choice questions. The AI extracts the selected answer from the student's submission and checks it against the correct answer. You can override if the extraction is wrong.
PDF report generation
Exam and project reports can now be exported as PDFs. Each report includes a per-question breakdown, student scores, AI-generated feedback comments, and cohort statistics. CSV export also available.
Project marking overhaul
Rebuilt the project marking interface — expandable AI reasoning, confidence scoring, criterion-by-criterion breakdown, and scores now save to the database correctly on accept.
Band-based marking key support
Marking keys can now include band-based criteria (e.g. 0–2 marks for a descriptor) in addition to pass/fail criteria. Multi-component bands are supported.
AI criteria auto-tick and confidence pill
The marking interface now shows which criteria the AI considers met, ticked automatically from the AI response. A confidence pill (High / Medium / Low) gives a quick read on how certain the AI is before you review.
PDF submission viewer
Added an in-interface PDF drawer so you can view the student's original submission while marking, without leaving the page. The drawer jumps to the page containing the answer automatically.
AI reads and interprets your marking key
Upload a marking key PDF during assessment setup and Markflow reads it automatically, extracting questions, sub-questions, criteria, and model answers. You can edit everything before marking begins.
Project marking pipeline
Added AI-assisted marking for project assessments. Upload a rubric PDF, Markflow interprets it into a structured rubric, then marks each student's submission criterion by criterion with reasoning.
24 May 2026
InfrastructureDeployed to Sydney region
Markflow's servers are now running in Sydney, co-located with the database. Student data stays in Australia.
First commit
Markflow exists.