With the popularization of information technology, e-learning has become a common teaching method. People have created many excellent e-classrooms (e.g. Mathigon, Phet) to help students master knowledge through interaction. YouTuber 3Blue1Brown created his own math animation engine, Manim. Many excellent math science videos have been produced by Manim.
In recent years, Large Language Model has become a popular technology. Many projects try to use LLM to generate manim code to create videos (e.g. Code2Video, Generative Manim). However, the generated code is often not executable, and the generated videos are not as good as the manually created ones. Since the final product of Manim is a video, students can also not interact with the elements in it like some interactive electronic classrooms.
ChalkAI is a AI-powered interactive classroom generator, by having LLM write our own DSL (Domain Specific Language) -- ChalkDSL, we render interactive elements like math, physics, and geometry on the page. Inspired by modern front-end frameworks, we designed ChalkDSL using reactivity (@vue/reactivity), so that all elements on the page are controlled by reactive data.
Please refer to our 0.1.0 milestone for the detailed roadmap
- Node.js >= 20
- Postgres
- NPM / PNPM / Yarn
cp .env.example .envFill your config in .env file.
npm install
npm run db:push # Init
npm run knowledge create default
npm run knowledge upload defaultnpm run dev- xsai: Extra-small AI SDK. Provide easy-to-use AI SDK for ChalkAI.
- @vue/reactivity: Vue 3 reactivity system. Provide powerful reactivity system for ChalkDSL
- morphdom: Fast and lightweight DOM diffing and patching library. Provide efficient DOM diffing and patching for ChalkDSL.
- D3js: SVG powered data visualization library. Provide powerful figures for ChalkDSL.
MIT License
Copyright (c) 2025 BijonAI, All rights reserved.