Skip to content

Latest commit

Β 

History

4 Commits

Folders and files

Repository files navigation

🎯 Learning Path Generator

A personalized, dependency-aware learning roadmap generator that turns a career goal, existing skills, proficiency, and available study time into a structured learning plan.

🌐 Live Demo: https://learning-path-generator-snowy.vercel.app/


🧠 Overview

Learning Path Generator helps learners answer a simple question:

"Given where I am now and where I want to go, what should I learn next?"

Instead of giving every learner the same generic roadmap, the application generates a personalized learning path based on:

  • Target role
  • Existing skills
  • Skill proficiency
  • Weekly study availability
  • Optional target timeline

The roadmap also respects skill dependencies, ensuring foundational concepts appear before the topics that depend on them.


πŸš€ What It Solves

Many learners struggle with:

  • Not knowing what to learn next
  • Relearning concepts they already understand
  • Jumping randomly between tutorials
  • Learning advanced topics before their prerequisites
  • Having no practical projects to reinforce learning
  • Creating unrealistic study schedules

Learning Path Generator addresses these problems by turning a target role into a structured, personalized progression.


✨ Features

🎯 Personalized Roadmaps

Generate a learning path based on the learner's:

  • Target role
  • Existing skills
  • Proficiency level
  • Weekly availability
  • Optional target timeline

🧠 Skill Gap Analysis

The application accounts for skills the learner already knows and focuses the roadmap on actual learning gaps.

πŸ”— Dependency-Aware Ordering

Learning topics are ordered according to their prerequisites.

The roadmap engine uses Kahn's topological sorting algorithm to ensure dependent skills appear after the skills they require.

πŸ“š Structured Learning Phases

Skills are grouped into logical phases to create a progression rather than a flat list of topics.

⏱️ Adaptive Weekly Scheduling

Weekly workloads are adjusted according to the learner's available study time.

πŸ› οΈ Project Recommendations

Projects are associated with relevant skills so learners can apply what they have just learned.

πŸ’Ύ Progress Persistence

Roadmap and learning progress persist locally, including across page refreshes.

πŸ“± Responsive Interface

The application is designed to remain usable across desktop and mobile screen sizes.


πŸ—οΈ How It Works

The application follows this general pipeline:

Target Role
     ↓
Required Skills
     ↓
Existing Skills + Proficiency
     ↓
Gap Analysis
     ↓
Dependency Graph
     ↓
Topological Ordering
     ↓
Learning Phases
     ↓
Weekly Scheduling
     ↓
Projects + Resources
     ↓
Personalized Roadmap

The engine combines role-specific skill mappings with dependency relationships and user-specific inputs to produce a tailored roadmap.


🧩 Architecture

The application keeps roadmap generation logic separate from the presentation layer.

                    React UI
                       β”‚
                       β”‚
             User Configuration
                       β”‚
          β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”Όβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
          β”‚            β”‚            β”‚
      Target Role   Existing      Weekly
                     Skills       Hours
          β”‚            β”‚            β”‚
          β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”Όβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜
                       ↓
                 Roadmap Engine
                       β”‚
          β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”Όβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
          β”‚            β”‚               β”‚
          ↓            ↓               ↓
      Role/Skill    Gap Analysis   Dependencies
      Mapping                       β”‚
                                    ↓
                           Topological Sort
                                    β”‚
                 β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”Όβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
                 β”‚                  β”‚                  β”‚
                 ↓                  ↓                  ↓
              Phases            Schedule           Projects
                 β”‚                  β”‚                  β”‚
                 β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”Όβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜
                                    ↓
                            Personalized Roadmap
                                    β”‚
                                    ↓
                              Local Persistence

There is no backend or external AI API dependency in the current version. Roadmap generation happens locally in the application.


πŸ› οΈ Tech Stack

  • React
  • Vite
  • JavaScript
  • Tailwind CSS
  • Local Storage
  • Kahn's Algorithm / Topological Sorting

The project intentionally avoids unnecessary backend infrastructure for this use case.


πŸ”„ User Flow

Choose Target Role
        ↓
Select Existing Skills
        ↓
Set Proficiency
        ↓
Set Weekly Availability
        ↓
Generate Roadmap
        ↓
Review Learning Gaps
        ↓
Follow Learning Phases
        ↓
Complete Recommended Projects
        ↓
Track Progress

🎨 Product Principles

Personalization Over Generic Roadmaps

A learner who already knows a technology should not be forced to learn it again unnecessarily.

Dependencies Over Arbitrary Ordering

Advanced topics should appear only after the concepts they depend on.

Projects Over Passive Learning

Learning milestones should lead into practical implementation.

Advisory Timelines Over False Precision

Available study time influences scheduling, but the application does not pretend that every learner can reach a role within an arbitrary deadline.


βœ… Validation

The application was validated through:

  • Engine tests
  • ESLint
  • Production build
  • Roadmap generation scenarios
  • Skill gap behavior
  • Dependency ordering
  • Role-based roadmap differences
  • Weekly-hour scheduling differences
  • Persistence across refreshes
  • Responsive/mobile behavior

πŸš€ Running Locally

1. Clone the repository

git clone https://github.com/rigel08/learning-path-generator.git
cd learning-path-generator

2. Install dependencies

npm install

3. Start the development server

npm run dev

4. Build for production

npm run build

🌐 Live Demo

https://learning-path-generator-snowy.vercel.app/


πŸ“Œ Project Status

Completed

The current version delivers a complete client-side personalized roadmap experience with dependency-aware ordering, adaptive scheduling, project recommendations, and persistent progress tracking.


πŸ’‘ Why I Built This

Learning technical skills is often less about finding more resources and more about knowing:

  • What to learn
  • In what order
  • Why it matters
  • What to build afterward

Learning Path Generator turns that problem into a structured system:

Choose a destination β†’ understand the gaps β†’ respect dependencies β†’ learn progressively β†’ build projects β†’ track progress.


πŸ‘¨β€πŸ’» Author

Srihith Rao

Computer Science student focused on:

Backend Engineering Β· AI/LLM Engineering Β· Full-Stack Development

GitHub: https://github.com/rigel08

Releases

Packages

Contributors

Languages