v0.0.4 · early preview

Build eLearning modules with an AI coding assistant at your side.

Tessera is a free toolkit for building interactive eLearning modules that launch in any SCORM or xAPI compliant learning management system. No required look, layout, or component set. Anything you can build with HTML, CSS, and JavaScript, you can build with Tessera.

npm create tessera@latest my-course
Quick start →

Requires Node.js 24 and an AI coding assistant like Claude Code, Cursor, or Pi. Free to use for any purpose, personal or commercial.

What Tessera does

Tessera locks the LMS data contract (tracking, completion, scoring, navigation, persistence) and gets out of the way of the design.

AI-assisted authoring

Every course project ships with AGENTS.md. Your assistant reads it for the conventions and writes properly-structured pages, components, and quizzes from plain-English prompts.

Total design control

Brand a course any way you like, build the layouts your content calls for, and style it freely. Tessera handles the LMS plumbing and stays out of the visual layer.

Hooks API for components

useQuestion, useQuiz, useNavigation, useProgress, usePersistence. Anything the built-ins do, agent-authored components can do too.

Design any assessment you can imagine

Drag-and-drop, hotspot, branching scenarios, fully custom UI: whatever the content calls for. useQuestion and useQuiz wire any widget into the LMS with the same scoring, persistence, and cmi.interactions reporting as the built-ins.

Live preview as you build

Pages are .svelte files served by a local Vite server. Save and the browser updates instantly, so you see each change as the agent writes it, or as you edit by hand.

Custom xAPI events

Need richer telemetry than completion and score? Emit custom xAPI statements from any component for fine-grained analytics on how learners actually move through your course.

Quick start

Create a new course, run it locally, and package it for any LMS.

terminal
# create a new course
npm create tessera@latest my-course
cd my-course
npm install

# local dev server at http://localhost:5173
npm run preview

# build + package for the configured standard
npm run export

Want a minimal starting point with no reference components? npm create tessera@latest -- --template=bare my-course creates a hooks-only project, useful when you'd rather have the agent build everything from scratch.

Authoring with AI

Once your project is running, ask the agent for what you want. It'll read AGENTS.md for the conventions: how pages, sections, and lessons are organized; how pageConfig and course.config.js work; which built-in components exist; and how to author new ones against the hooks API.

"Add a new section called Workplace Safety with three lessons: an intro page, a video page using safety-overview.mp4, and a quiz with five multiple-choice questions about hazard recognition. See the written copy and quiz questions in workplace-safety.docx"

You review the output, ask for changes, and iterate. The dev server hot-reloads as the agent writes, so you see each change immediately.

welcome.svelte
<script module>
  export const pageConfig = { title: "Welcome" };
</script>

<script>
  import { Callout } from 'tessera-learn';
</script>

<h1>Welcome to the course</h1>

<Callout type="tip">
  <p>Drop in components for richer content.</p>
</Callout>

One source, every export

Run npm run export and ship to whichever LMS standard you require. The same source builds for every standard.

SCORM 1.2The classic LMS standard.
SCORM 2004Modern sequencing & navigation.
cmi5An xAPI profile for LMSs.
Web bundleStatic files, host anywhere.

Ready to build a course?

Open a terminal and run the command below. Then head back to Quick start for the next few steps, and you'll be authoring with your AI assistant in minutes.

npm create tessera@latest my-course
View on GitHub →
Copied