AI course generator that adapts to the learner's level
The project began as a solo experiment to solve a clear limitation: tools like ChatGPT can generate educational content, but they can't structure learning in a way that is progressive, personalized and pedagogically consistent. The idea was to build a system that generates complete courses inside LearnDash, based on the user's real level and the skills needed to reach a specific goal.
Problem:
- Users don't know how to structure their own learning (what to study, in what order, at what depth)
- AI tools generate isolated content but don't build learning journeys
- Traditional courses are generic and don't adapt to the learner's real level
- There is no link between main skills and the adjacent skills they require
- There is still no truly educational AI content generation tool
Solution:
- We built a system that generates personalized courses with AI
- The user defines a focus skill (for example, decision-making)
- The AI generates a complete course (up to 20 lessons) with a structured pedagogical progression
- The course is created automatically in LearnDash, ready to use
Technologies used:
- WordPress + LearnDash
- Custom plugin
- AI-agnostic integration: any AI can be plugged in
Course creation screen: say which skill you want to learn
A skill-driven architecture (not a content-driven one)
The main structural problem was keeping the system from becoming just a "text generator". The solution was to model the system with skills as the central unit, not courses.
- Course = container
- Lesson = reusable asset
- Skill = the main semantic unit The architecture works like a knowledge graph:
- Skills have levels (rubrics)
- Skills connect through dependencies (skill_edges)
- The system identifies gaps between the current and desired level
- The course is generated to fill those gaps
Critical decision: avoid duplicated content by using content_hash and reuse existing lessons whenever possible. There is also a very strong layer of instructional design guiding how content is created. It's not enough to ask the AI to generate content: you have to tell it how. This lowers cost, keeps things consistent and allows scale.
Secondary skills: the system probes your knowledge
Development and generation journey
The system was designed as a progressive flow (almost a "smart wizard"):
- The user describes what they want to learn
- The AI extracts the main skill
- The AI generates the level rubric
- The user sets their current level and goal
- The AI identifies adjacent skills
- The user assesses themselves on those skills
- The AI generates a complete roadmap
- The system turns the roadmap into a course in LearnDash Course generation happens in a modular, asynchronous way:
- One endpoint creates the base course
- Each lesson is created separately (to avoid timeouts)
- Content is generated as JSON and then materialized in the database
Features built around real learning
Instead of focusing only on content, the system was designed around pedagogical principles: 1. Deep personalization
- A course based on the user's real level
- Considers multiple skills, not just the main one 2. A mandatory pedagogical structure Every lesson follows defined patterns:
- A clear objective
- Difficulty level
- Estimated time
- Skill context 3. Balanced lesson types
- Learn (concept)
- Practice (execution)
- Reflect (internalization)
- Interact (external feedback) Mix:
- 30% learn
- 35% practice
- 20% reflection
- 15% interaction 4. An integrated quiz system
- Knowledge checks spread throughout the course
- Automatic creation via WPProQuiz
- Direct linking to lessons 5. Full generation inside LearnDash The system doesn't just generate content. It creates the whole structure:
- Course (
sfwd-courses) - Lessons (
sfwd-lessons) - Topics (
sfwd-topic) - Quizzes and questions
All through an automated pipeline, with no manual intervention

Results
- Complete courses created automatically in minutes
- A sharp drop in the need for instructional designers for the initial structure
- A scalable system built on content reuse
- More efficient learning thanks to adaptation to the user's real level Lessons learned:
- Real personalization requires knowledge modeling, not just generative AI
- Without structural control, AI produces redundancy and low quality
- Architecture (skills + graph) matters more than the content itself This whole model also allows a company to insert its own ready-made content and define rules.
This project is the kind of solution I build today at EduBuilders, combining a pedagogical foundation with software.