News
May 6, 2026 Β· View on GitHub
- We release our paper at arxiv: MAIC-UI: Making Interactive Courseware with Generative UI, where a three-month classroom deployment with 53 high school students demonstrates that MAIC-UI fosters learning agency and reduces outcome disparities.
π€Why MAIC-UI?
- Turn abstract knowledge into interactive experiences
- Reduce the cost of creating teaching resources
- Support real classroom use with stable generated results
- Help students learn by exploring, not just watching
π Introduction
Let knowledge grow into interfaces, and let interaction flow into thinking.
MAIC-UI is an AI-powered interactive teaching generation system designed for educational scenarios across all grade levels. Centered on generative AI and interactive interface generation, it helps teachers quickly build teaching resources for classroom instruction, self-directed learning, experiment demonstrations, and knowledge exploration.
Unlike traditional static courseware or one-way content generation tools, MAIC-UI focuses not only on content generation, but also on learning process generation. It aims to transform abstract knowledge into visual, operable, and feedback-driven interactive pages, so that students do not merely see knowledge, but can also manipulate, experience, and understand it.
π‘ Key Highlights
- AI-driven generation β Create teaching pages and interactive content from topic inputs.
- From content to interaction β Generate not only content, but also interactive learning interfaces.
- Versatile teaching support β Suitable for explanations, demonstrations, simulations, and review activities.
- Process-oriented learning β Strengthen engagement through guidance, interaction, and feedback.
- Classroom-ready design β Built for stable, controllable, and effective classroom use.
π Positioning
MAIC-UI aims to address more than just the efficiency problem of courseware production. More importantly, it responds to several core needs in educational scenarios:
- How can abstract knowledge become more intuitive?
- How can classroom presentation turn into student participation?
- How can AI go beyond assisting content writing to supporting learning experience design?
Therefore, MAIC-UI is not merely a traditional content generator, but rather:
An AI interactive teaching interface generation system designed for classroom and learning scenarios.
π Quick Start
Prerequisites
- Docker & Docker Compose
- Git
1. Clone the Repository
git clone https://github.com/your-username/maic-ui.git
cd maic-ui
2. Configure Environment
# Copy the example environment file
cp .env.example .env
# Edit .env and add your API keys
# Required: AI_PROVIDER and corresponding API key (zhipu, anthropic, openai, etc.)
vim .env
Key Environment Variables:
| Variable | Description | Required |
|---|---|---|
AI_PROVIDER | AI provider to use (zhipu, anthropic, openai, etc.) | Yes |
ZHIPU_API_KEY / ANTHROPIC_API_KEY / OPENAI_API_KEY | API key for your chosen provider | Yes |
SECRET_KEY | Secret key for JWT authentication | Yes |
DATABASE_URL | Database connection string (SQLite by default) | No |
3. Deploy with Docker Compose
# Build and start all services
docker compose build
docker compose up -d
# Or build and start in one command
docker compose up -d --build
The application will be available at http://localhost:8927
4. Verify Deployment
# Check container status
docker compose ps
# Check backend health
curl http://localhost:8927/health
Service Architecture
| Service | Port | Description |
|---|---|---|
| nginx | 8927 | Reverse proxy (public entry point) |
| frontend | 3000 | Next.js application |
| backend | 8000 | FastAPI application |
Development Mode (Optional)
For local development without Docker:
# Install dependencies
npm run install:all
# Start both frontend and backend
npm run dev
# Or start separately
npm run dev:frontend # Frontend on port 3000
npm run dev:backend # Backend on port 8000
β¨ Features
βοΈ Use Cases
MAIC-UI can be applied to the following typical teaching scenarios:
|
π― Lesson Introduction Attract studentsβ attention and stimulate interest through intuitive pages. |
π Knowledge Explanation Transform abstract concepts into visual and interactive content. |
|
π¬ Experiment Simulation Demonstrate processes when laboratory equipment or conditions are limited. |
π After-class Consolidation Strengthen understanding and transfer of knowledge through interactive exercises. |
π Advantages
| Dimension | Traditional Courseware / Resource Production | MAIC-UI |
|---|---|---|
| Production threshold | High, relies on manual design and technical operations | Lower, can generate quickly |
| Content form | Mainly static presentation | Dynamic and interactive presentation |
| Student role | Passive viewer | Active participant and explorer |
| Abstract knowledge expression | Difficult to present complex processes | Better suited for expressing dynamic patterns |
| Teaching adaptability | High adjustment cost | More suitable for quickly generating for different topics |
| Classroom performance | Strong in presentation, weak in interaction | Balances both presentation and interaction |
π€ Contributing
We welcome contributions from the community. Whether it is a bug report, feature suggestion, or pull request, we truly appreciate it.
Contribution Process
π§© Project Structure
MAIC-UI/
βββ frontend/ # Frontend project
β βββ public/ # Static assets
β βββ src/
β β βββ app/ # Page routes
β β βββ components/ # Shared components
β β βββ styles/ # Style files
β β βββ utils/ # Utility functions
β βββ package.json
β
βββ backend/ # Backend project
β βββ src/
β β βββ api/ # API layer
β β βββ service/ # Business logic
β β βββ models/ # Data models
β β βββ core/ # Configuration and core functions
β βββ requirements.txt
β βββ main.py
β
βββ docs/ # Documentation
βββ screenshots/ # Project screenshots
βββ docker-compose.yml
βββ README.md
ποΈ Core Architecture
MAIC-UI adopts a frontend-backend separated architecture, consisting of the following main parts:
- Frontend layer: responsible for user interaction, page presentation, and teaching resource display
- Backend layer: responsible for business logic processing, API management, and generation workflow scheduling
- AI generation layer: responsible for teaching content generation, page organization, and interactive resource construction
- Data layer: responsible for user information, resource configuration, and generated result management
The system operates around the following workflow:
Input teaching requirements β Generate teaching content β Build interactive pages β Display teaching resources
π§How to Contribute
πΌ Business Cooperation
If you would like to apply MAIC-UI to educational products, learning platforms, course resource development, or school-enterprise cooperation scenarios, feel free to contact us for further collaboration.
- Project Email: tsq25@mails.tsinghua.edu.cn
π Citation
If MAIC-UI is helpful to your research or project, please consider citing this project.
@article{tu2026maic,
title={MAIC-UI: Making Interactive Courseware with Generative UI},
author={Tu, Shangqing and Li, Yanjia and Chen, Keyu and Zhang, Sichen and Yu, Jifan and Zhang-Li, Daniel and Hou, Lei and Li, Juanzi and Zhang, Yu and Liu, Huiqin},
journal={arXiv preprint arXiv:2604.25806},
year={2026}
}
β Star History
If this project helps you, please consider giving it a star to support us.