coursekit · blog

Why we're building coursekit

An open-source authoring tool for the people whose actual job is writing the questions.

The coursekit team

A good sequencing question takes work. You’re choosing the order, yes, but you’re also choosing the wrong order — the plausible wrong order, the one that catches the specific misconception you’ve been watching your students make every spring for fifteen years. The chemistry professor working on equilibrium problems, the school teacher refining a fractions exercise, the vocational trainer writing a safety check: the people who write course content with care are doing real intellectual work, and the tool they reach for should respect that.

Coursekit is that tool.

A calm surface for considered work

One authoring surface where every block obeys the same conventions: the prompt is the focal point, the choices are pills, correctness is signalled the same way every time. The author preview is exactly what the learner sees. There is no “preview mode” toggle, no second visual language for taking the question versus writing it. You write the question; what you see is what they see.

Multi-choice, sequencing, image hotspot, fill-in-the-blanks, categorisation, matching, multiselect, dropdown, chart. Twelve block types so far. Each one is a schema-driven Tiptap NodeView. Learn the conventions once and you know them for every block you’ll ever author.

Grading that travels with the document

The grading library is pure TypeScript. The same code path validates an answer in the editor preview, in your LMS at submission time, and in your unit tests. A learner’s grade is the editor’s grade. That’s not a detail; it’s the guarantee that lets course content outlive the platform it was written for. Institutions migrate. Adapters come and go. The documents and the grading travel intact.

Open source as a practical promise

Coursekit is AGPL-3.0. The repository contains everything: the editor, the grading library, the Open edX adapter, and the documentation site you’re reading right now. There is no managed tier. There is no commercial version. Whatever ends up in your LMS is exactly what you can read, fork, and audit.

That matters because the work your authors are producing — the sequencing question that took two afternoons of thought, the image hotspot calibrated to a specific anatomical structure, the categorise block that distinguishes ionic from covalent bonding — is too important to depend on a tool whose roadmap you don’t control. With coursekit, the authoring surface keeps running on the code your institution already has. Your IT team can patch it. Your researchers can audit the grading logic. The content travels because the format is just typed blocks.

Where we are

Open edX shipped first because xblock is the most demanding embedding target. LTI 1.3 reaches Canvas, Moodle, D2L, and Blackboard next. Google Classroom and a standalone hosted runtime follow. The editor itself is in active development; the block reference in the docs is the canonical catalogue of what works today.

If you teach, write course content, or run educational software for an institution and any of this resonates, please open an issue and tell us what you’d need to author your next unit in coursekit. The project is small enough that a reasonable contribution gets read carefully.