Inspiration

Learning Linux is a foundational skill for developers, system admins, and cybersecurity professionals. Yet, the process of setting up a Linux environment and staying motivated through text-heavy tutorials can be daunting. We wanted to change that by bringing an immersive, interactive Linux learning experience directly into the browser. With CheerpX's WebAssembly-powered Linux virtual machine, we saw an opportunity to build a browser-based learning platform that makes Linux both accessible and engaging for all learners.

What it does

LearnVM is a browser-based Linux Learning Management System (LMS) powered by CheerpX. It enables users to:

  • Execute real Linux commands in real-time directly from their browsers.
  • Progress through lesson modules, each unlocking interactive tasks.
  • Receive real-time feedback and hints.
  • Interact with a generative AI avatar that explains Linux concepts, answers user questions, and provides guided help when users get stuck.
  • Track learning progress and jump between completed tasks.

How we built it

LearnVM is built using:

  • React for the frontend interface.
  • CheerpX for embedding a full Linux terminal experience in the browser.
  • Tailwind CSS for consistent styling and responsive layout.
  • Generative AI avatar integrated via REST API (referencing ChatGPT) for real-time help and guidance.

We structured our LMS as a modular lesson path. Each module contains tasks that users complete directly in the terminal. We added a virtual helper avatar (powered by generative AI) to guide users and boost engagement.

Challenges we ran into

  • Embedding CheerpX and maintaining consistent state across terminal sessions.
  • Designing intuitive UI/UX for learners unfamiliar with command-line environments.
  • Ensuring the AI helper was helpful but not overly intrusive.

Accomplishments that we're proud of

  • Seamlessly integrating CheerpX to deliver real-time Linux command execution.
  • Building a full-featured LMS that runs entirely in the browser.
  • Designing an AI-powered avatar assistant that brings humanity to technical learning.
  • Creating an end-to-end experience that makes learning Linux fun and accessible.

What we learned

  • The power and flexibility of CheerpX in delivering Linux environments over WebAssembly.
  • Best practices for combining AI assistants with traditional educational content.
  • How to balance interactivity, user experience, and technical complexity in an educational tool.
  • New ways to deliver complex software training through browsers without installations.

What's next for LearnVM

  • Expand lesson content to cover Bash scripting, networking, system administration, and ethical hacking.
  • Add quizzes, achievements, and certification paths.
  • Improve AI avatar intelligence to detect learning patterns and offer customized help.
  • Open LearnVM to educators who want to author their own modules.
  • Local storage sync for offline progress tracking.

Notes for Submission:

  • CheerpX has been used as the core of the project.
  • The generative AI avatar is credited to Azure OpenAI's GPT architecture.
  • The previous source code is credited to the previous winners cheerpx_hack.
  • All third-party libraries and components are either open-source under permissive licenses or properly credited.
  • The repository is public and adheres to all rules outlined by the Leaning Technologies WebVM Hackathon 2025.

We’re excited to showcase LearnVM and hope it empowers a new generation of Linux learners across the globe!

Built With

  • azure-openai-api
  • cheerpx
  • next.js
Share this project:

Updates