Vibeleaderboard
Index / app
Visit github.com
Category
Education
Rank
Pricing
Open Source
Type
APP
Use case
Research & Education
Interfaces
Web · SDK · API
Latest release
v1.3.0-rc.1
Date

About

OpenMAIC turns a topic or uploaded document into a full interactive classroom, generating slides, quizzes, simulations, and project-based learning activities delivered by AI teacher and AI classmate agents that speak and draw on a shared whiteboard. Its v1.0.0 release adds a chat-based agent workbench that plans, builds, and revises entire courses through durable, resumable sessions and reusable skills.

What it does

Give it a topic or a document and it builds an entire lesson: a slide deck, quiz questions, small interactive simulations, and a project assignment, all narrated by simulated instructors and peers who converse and sketch on a shared board while you sit in. A newer assistant-driven mode lets you type instructions instead, and it drafts, revises, and rebuilds the course accordingly across a session you can leave and resume. The result exports as an editable slide file or a self-contained web page.

Why it's ranked here

The engineering discipline stands out more than the pitch. Automated unit and end-to-end tests actually exist, four packages are published to a public registry with automated checks that block a merge if the version number doesn't move, and the history includes a fix for a real deployment bug: a Docker volume ownership problem that silently dropped saved classrooms. It also refuses to lock into one AI vendor, wiring in a dozen-plus model and search providers behind a shared setup file.

What's good

You are not locked to one model vendor: the config accepts keys for OpenAI, Azure, Anthropic, Bedrock, Google, and half a dozen others, and you can run purely from environment variables or a YAML file. Deployment options span a single Vercel-button click, a self-hosted Docker Compose stack, or a hosted service with an access code. The optional video-render container runs on an isolated Docker network with its own egress lockdown, a real security choice given that it executes an unsandboxed browser to composite output.

Tradeoffs

Getting a working install means a sizeable dependency tree and native build tooling for image and canvas libraries, plus a chained build step that compiles several internal packages in sequence before the app itself builds. The optional video-export path needs a separate container that documentation says wants 8 GiB of memory. And since every classroom scene is generated by a language model, you need at least one paid provider API key before anything beyond the interface actually works.

How to use it well

Try the hosted version first with an access code before standing up your own deployment; it skips the environment setup entirely. Educators building a single lesson from an outline or a source document get the most from the one-click generator, while anyone assembling a multi-session course, with materials to upload and edits to make along the way, should reach for the newer chat-driven workbench instead. It plugs into existing chat and IDE assistants too, so a course can start from a Slack message rather than the web app.

Technical notes+

The mechanism worth reading is in the editor package's core index.ts, which models every slide edit as a typed EditorOperation compiled from higher-level EditIntent objects and threaded through an undo and redo stack capped at 50 states (MAX_EDITOR_HISTORY); each of the nine element types (text, image, shape, line, chart, table, latex, video, audio, code) has its own required-field schema enforced there. lib/choreography/index.ts and lib/video-export/index.ts share a deliberately pure, DOM-free core, an eslint boundary blocks React and GSAP imports, so the same playback-timing logic can compile a VideoTimeline IR outside a browser. the importer package's index.ts handles the inverse direction, parsing an uploaded .pptx through a custom zip parser into the same canvas format. The Dockerfile includes a one-line fix, with a comment citing issue #1438, for a volume-permission bug that had been silently discarding saved classrooms.

Observed

License
MIT
Primary language
TypeScript (Next.js, React), with one small vanilla-JavaScript package for MathML conversion
Packaging
pnpm workspace monorepo with several internal packages (dsl, storage, renderer, importer, editor) published individually to a public npm registry
Deployment surface
Self-hosted via Docker and Docker Compose, one-click deploy to Vercel, or a hosted instance behind an access code
Configuration
Provider keys set via environment variables or a YAML config file
AI provider support
Multiple LLM providers wired in behind a shared interface (OpenAI, Azure OpenAI, Anthropic, Amazon Bedrock, Google, and others)
Testing
Both unit tests (Vitest) and end-to-end tests (Playwright) are present in the repository
Optional components
A separate containerized render service for video export, isolated on its own internal Docker network
Distribution
Ships a standard skill package intended for use from external agent workbenches, not just its own web app

Read from README.md, package.json, Dockerfile, lib/document/index.ts, lib/prosemirror/index.ts, lib/choreography/index.ts, lib/rag/index.ts, lib/video-export/index.ts, packages/@openmaic/renderer/src/index.ts, packages/@openmaic/editor/src/core/index.ts, packages/@openmaic/importer/src/index.ts, packages/mathml2omml/src/index.js, docker-compose.yml, CONTRIBUTING.md, LICENSE.

What it can do

  • Generate an interactive classroom (slides, quizzes, simulations, project-based activities) from a topic or uploaded document

    Topic or document → Interactive classroom content (slides, quizzes, simulations, activities)

  • Deliver lessons via AI teacher and AI classmate agents that speak and draw on a shared whiteboard

    Generated classroom content → Spoken narration and whiteboard drawings

  • Plan, build, and revise courses through a chat-based agent workbench

    Conversational chat input → Course plan/build/revisions

Tags

educationmulti-agentai-course-generatorclassroomlanggraphopen-sourceself-hosted

Tech Stack

Node.jsDockerNext.jsTypeScript

Comments (0)

No comments yet

Editorially curated, with community endorsements as a secondary signal. Corrections welcome.