Skip to content

Repository files navigation

LumenExMachina

AI-powered teaching material generator for educators
Getting Started »  ·  User Guide »  ·  Report Bug

License: MIT .NET 10 Windows AI Providers


LumenExMachina is a Windows desktop application that helps teachers and educators create complete, professional teaching materials using AI. From a single topic description, it generates structured outlines, study texts, worksheets, solutions, self-tests, presentations, interactive quizzes, illustrations, and mini-apps — all exportable to DOCX, PDF, and GIFT (Moodle) formats.

Deutsch: LumenExMachina ist eine Windows-Desktop-Anwendung, die Lehrkräfte bei der KI-gestützten Erstellung kompletter Lehrmaterialien unterstützt. Die App-Oberfläche ist zweisprachig (Deutsch/Englisch), die generierten Inhalte können in jeder Sprache erstellt werden.

Features

  • Outline Generation — Hierarchical course structure with learning objectives, key terms, illustration ideas, and mini-app suggestions
  • Outline Chat — Refine and iterate on the generated outline through natural language conversation
  • Document Generation — Six document types with block-based content (headings, paragraphs, lists, code blocks, callouts, Q&A)
    • Study Text, Worksheet, Solution Key, Self-Test, Presentation, Interactive Quiz
  • Illustration Generation — AI-generated images placed contextually within documents
  • Mini-Apps — Interactive React or Vanilla JS applications embedded in teaching materials
  • Quiz Export — GIFT format for Moodle import, or standalone interactive HTML quizzes
  • Document Export — Professional DOCX and PDF output with math formula rendering (KaTeX/LaTeX)
  • Reference Documents — Upload existing Word/PDF materials as context for AI generation
  • Multi-Provider AI — Choose between Google Gemini, Anthropic Claude, OpenAI, or local LM Studio
  • Bilingual UI — Full English and German interface
  • Content Language — Generate materials in any language regardless of UI language
  • Project Files — Save/load complete projects as .lmx files (ZIP containers with embedded assets)

Quick Start

Prerequisites

Installation

git clone https://github.com/hf75/LumenExMachina.git
cd LumenExMachina
dotnet restore
dotnet build

Configuration

Set your API key(s) as environment variables:

# Google Gemini (recommended — supports text + image generation)
setx GEMINI_API_KEY "your_key_here"

# Anthropic Claude (optional)
setx ANTHROPIC_API_KEY "your_key_here"

# OpenAI (optional)
setx OPENAI_API_KEY "your_key_here"

# LM Studio — local models (optional)
setx LMSTUDIO_BASE_URL "http://localhost:1234"
setx LMSTUDIO_API_KEY "your_key_here"

Run

dotnet run --project LumenExMachina.App

AI Providers

Provider Text Generation Image Generation PDF Input Local
Google Gemini Yes Yes Yes No
Anthropic Claude Yes No Yes No
OpenAI Yes No No No
LM Studio Yes No No Yes

Tip: Google Gemini is the recommended provider as it supports all features including image generation and PDF reference documents.

Workflow

  1. Create a Project — Define topic, target audience, learning objectives, and scope (short/medium/comprehensive)
  2. Upload References (optional) — Add existing Word or PDF documents as context
  3. Generate Outline — AI creates a hierarchical structure with chapters, subchapters, key terms, and illustration ideas
  4. Refine Outline — Use the built-in chat to adjust the outline through natural language
  5. Generate Documents — Create study texts, worksheets, solutions, self-tests, or presentations
  6. Generate Illustrations — AI creates contextual images for the documents
  7. Create Mini-Apps — Generate interactive learning applications (React or Vanilla JS)
  8. Generate Quizzes — GIFT format for Moodle or standalone interactive HTML quizzes
  9. Export — Download as DOCX, PDF, or GIFT files

Project Structure

LumenExMachina/
├── LumenExMachina.App/           # WPF desktop application (UI, ViewModels, Services)
│   ├── Views/                  # XAML views (Project, Outline, Documents, Export, Settings, ...)
│   ├── ViewModels/             # MVVM ViewModels
│   ├── Services/               # UI services (rendering, file dialogs, settings)
│   ├── Localization/           # EN/DE string resources
│   └── Assets/                 # Bundled JS libraries (Quill, KaTeX, React, Babel)
├── LumenExMachina.Core/          # Core library (models, services, prompts)
│   ├── Models/                 # Domain models (Project, Outline, Document, Blocks, Quiz, ...)
│   ├── Services/               # Generation service, persistence, contracts
│   ├── Prompts/                # AI prompt templates and JSON schemas
│   ├── Serialization/          # Custom JSON converters
│   └── Utilities/              # JSON cleanup, GIFT helpers
├── LumenExMachina.Export/        # Export engines (DOCX, PDF, GIFT)
├── LumenExMachina.Gemini/        # Google Gemini AI provider
├── LumenExMachina.Anthropic/     # Anthropic Claude AI provider
├── LumenExMachina.OpenAI/        # OpenAI GPT provider
├── LumenExMachina.LmStudio/      # Local LM Studio provider
└── LumenExMachina.sln            # Solution file

Document Types

Type Description
Study Text Comprehensive learning material with explanations, examples, and illustrations
Worksheet Exercises and activities for students
Solution Key Answer key for the worksheet
Self-Test Self-assessment questions with immediate feedback
Presentation Slide-style content for classroom use
Interactive Quiz Browser-based quiz with multiple question types

Project File Format

LumenExMachina saves projects as .lmx files — ZIP containers containing:

project.lmx (ZIP)
├── project.json       # Complete project data (outline, documents, quizzes, mini-apps)
└── assets/            # Generated images (Base64-encoded)

Legacy .tfg files from earlier versions are still supported for loading.

Tech Stack

  • UI Framework: WPF with WPF-UI (Fluent Design / Mica backdrop)
  • Runtime: .NET 10 (Windows)
  • Architecture: MVVM pattern with async/await throughout
  • AI SDKs: Google GenerativeAI, Anthropic SDK, OpenAI SDK
  • Document Export: DocumentFormat.OpenXml (DOCX), QuestPDF (PDF)
  • Math Rendering: KaTeX (browser preview), CSharpMath (PDF export)
  • Rich Text Editor: Quill.js via WebView2
  • Mini-App Runtime: React 18 + Babel (JSX transpilation in-browser)
  • Dependency Injection: Microsoft.Extensions.DependencyInjection
  • Serialization: System.Text.Json with custom converters

Contributing

Contributions are welcome! Please see CONTRIBUTING.md for guidelines.

  1. Fork the repository
  2. Create a feature branch (git checkout -b feature/amazing-feature)
  3. Commit your changes (git commit -m 'Add amazing feature')
  4. Push to the branch (git push origin feature/amazing-feature)
  5. Open a Pull Request

License

This project is licensed under the MIT License — see the LICENSE file for details.

Third-Party Notices

This project uses several open-source libraries and components. See THIRD_PARTY_NOTICES.md for full attribution and license information.

Acknowledgments

About

AI-powered teaching material generator — create study texts, worksheets, quizzes, illustrations, and mini-apps from a single topic

Resources

Contributing

Stars

Watchers

Forks

Releases

Packages

Contributors

Languages