REGISTER / COURSEKIT
Live System
CourseKit
- Canvas course analysis in the browser
- Deterministic checks, no AI in the product
- Parser and export regressions
CourseKit is a set of browser tools for instructional designers. You give a tool a course export and it hands back structure, accessibility and readiness signals, computed on your own machine. There is no model anywhere in that path, so every signal it reports can be checked against the export it came from.
OPEN COURSEKIT.TOOLSRECORD / BUILD
- Tools
- Six. Course analyzer, alignment-map generator, rubric readiness check, measurable-objectives checker, alt-text scan, question-bank formatter.
- Where it runs
- The parsing happens in the browser. The three routes that once accepted uploads answer 410 Gone, and a static guard in the test suite fails the build if a tool starts posting files again.
- Detection
- Parsing and rules. No model, no embedding service, no external analysis call anywhere in a tool flow.
- Input
- Course exports as IMSCC or ZIP, plus DOCX, PPTX, XLSX, PDF, TXT and quiz-interchange ZIP depending on the tool.
- Output
- PDF, Word and CSV exports, built in the page and downloaded from it.
- Stack
- Next.js 15 on the App Router, React 18, Tailwind 3.4, TypeScript. No database of any kind.
- Source
- Private repository, and the licence explicitly grants no permission to copy, modify or redistribute.
01 / 03
What it is for
Course review is mostly triage. Before anybody sits down to a formal review there is a long, dull pass over a course export looking for missing objectives, images with no alt text, question banks that will not import, and structure that will not survive contact with a rubric. CourseKit does that pass, in the browser, in seconds, and shows its working.
It was presented at a university online-learning expo in 2026. It is an independent project and not an official product of any institution, and the product says so on its own pages.
02 / 03
Why there is no model in it
Uploaded course exports are somebody else's work and often somebody else's students. Sending them to a model would buy a nicer-sounding report and cost the one thing the tool is for, which is being checkable. So detection is parsing and rules, the files never leave the browser, and where a standard cannot be confirmed from the export the tool marks it for manual review instead of guessing.
That decision is enforced rather than promised. The three API routes
that used to accept uploads now return 410 Gone, and
scripts/test-browser-only-static.mjs asserts that the tool
pages contain no upload call and the routes contain no parser. If
somebody quietly reintroduces a server round trip, the suite fails.
03 / 03
What it does not do
The product's own limits, in the product's own words.
- It is a pre-review
- It does not replace a formal peer review, an accessibility review, or import verification. Every result is a signal to confirm, not a verdict.
- It sees only the export
- Content held in external syllabus tools, third-party integrations, linked documents, media platforms or unpublished material is invisible to it. A clean result is therefore not proof; it is a clean result on the file you handed over.
- The structural ceiling is not the full rubric
- Several essential standards can only ever be confirmed by a person, so the theoretical ceiling for structural checks is about 18 of 22, not 22 of 22. The tool prints that instead of scoring against a number it cannot reach.
- Alt text is counted, not judged
- The scan inventories whether alt text is present and whether a PDF is tagged. It does not decide whether the alt text is any good, and untagged PDFs are flagged for manual review rather than passed.
- No certification of anything
- No accessibility, legal, procurement or rubric certification is claimed or implied, and there is no institutional approval behind it.
- No adoption numbers
- The repository contains no user count, no testimonial and no named adopting institution, so none appear here. Real course exports are used as regression fixtures in testing, which is a testing claim and nothing more.