Skip to content

g4m3rm1k3/upskillos

UpSkillOS

The technical ladder is open to everyone. UpSkillOS is the climb.

A free, open-source interactive learning OS — built around active, visual, intuition-first learning.

▶ Open the App · Download for Windows · Contribute · Discussions

React D3 Three.js Pyodide License: GPL v3 Stars


See It In Action

📸 Screenshots and GIFs coming soon — synchronized proof visualizations, CNC simulator, live math solver, physics lab, Three.js environments, and desktop UI. Try it now →


Why UpSkillOS Is Different

  • Full interactive environment — not just videos or quizzes. Live coding, simulations, visualizations, labs, and games, all in the browser.
  • Intuition-first, rigour always — every concept builds understanding before formalism. Hook → intuition → math → proof.
  • Runs entirely locally — no accounts, no tracking, no backend. P2P chat uses WebRTC. Python runs via Pyodide. Nothing phones home.
  • Professors can export annotated solver sessions — students upload the file and get custom notes inside the math solver. No LMS required.
  • Works offline — full desktop app, learn anywhere.
  • Open source and permanently free — GPL-3.0, forever.
  • Built for university students and independent learners equally — supplement your coursework or replace it entirely.

Why UpSkillOS Exists

Learning math and science is hard. It doesn't have to be harder than it needs to be.

University students often find that lectures don't match the way they learn, and the tools their institution provides don't fill the gap. Online learners face an even steeper climb — without in-person support, they're left to piece things together from videos and static textbooks. Even in-person students frequently need to hire tutors or pay for additional tools like MATLAB just to keep up.

At the same time, the economy is moving up the technical ladder. Math, science, programming, CNC, electronics, and data science skills are in higher demand than ever — and the gap between the people who have them and the people who need them is growing.

UpSkillOS is an open, welcoming alternative. Not a replacement for education — a better companion to it. A free environment where anyone can build durable understanding, at their own pace, without paying for the tools that make learning actually work.

Whether you're supplementing a university course, self-studying, or building skills for a career change — you belong here.


Who It's For

University students — use it alongside your coursework when the lecture isn't landing or the platform your institution provides isn't clicking. Same material, built around active learning.

Self-learners — university-level STEM depth, intuition-first, at your pace, free forever. No enrollment, no deadlines, no debt.

Career changers — the economy isn't shrinking, it's shifting upward. CNC programmers, electronics technicians, data analysts, and software developers are in high demand and short supply. UpSkillOS gives you a structured path in from wherever you're starting.

Educators — export annotated math solver sessions and distribute them to students as files. Contribute lessons through the in-app tutorial. Self-host on your network.


Current Status

  • 30 courses completed and actively maintained
  • Live coding environments for Python, JavaScript, C++, and React — in browser, no install
  • CNC simulator, physics lab, digital electronics lab, drawing app, drafting app — all built in
  • 6 interactive games built on real math and physics
  • AI tutor with full lesson context, available in every lesson
  • P2P study chat — global and per-lesson, no server, no account
  • Desktop app available now for Windows
  • Core curriculum actively expanding — manufacturing, trades, and accessibility tracks in progress

Learning Tracks

Core Tracks

  • Math & Physics — Pre-Calculus, Geometry, Calculus, Physics, Chemistry, Linear Algebra, Discrete Math
  • Computer Science — CS Fundamentals, Digital Fundamentals, Data Structures & Algorithms, Dynamic Programming
  • Programming & AI — Python, JavaScript, Web Systems, Data Science, AI Engineering
  • Manufacturing & CNC — CNC Macro Systems, G-Code Interpreter, Digital Fundamentals
  • Graphics & Visualization — Three.js (Parts 1 & 2), HTML Canvas, Interface Design
  • Project-Based — Build Tetris, Git Systems

30 full courses. All free. All interactive.

CNC programming is one of the most in-demand and understaffed fields in manufacturing. The CNC courses, simulator, and G-Code interpreter give you real competency without access to physical machines.

View full course list
Course Topics
Pre-Calculus Functions, graphs, transformations, trigonometry
Geometry Proofs, constructions, similarity, circles
Calculus Limits, derivatives, integration, series
Physics Mechanics, kinematics, forces, waves
Chemistry Elements, reactions, molecular structure
Discrete Math Logic, sets, induction, combinatorics, graph theory
Linear Algebra Vectors, matrices, transformations, eigenvalues
Computer Science Logic, circuits, algorithms
Digital Fundamentals Signals, binary, logic gates
CNC Macro Systems G-Code, kinematics, logic
G-Code Interpreter Build a G-Code parser from first principles
Python Programming Core language, data structures, algorithms
Data Science NumPy, Pandas, visualization, ML foundations
AI Engineering LLMs, agents, production AI systems
JavaScript Core Language and runtime fundamentals
Web Systems DOM, reactivity, APIs
Data Structures & Algorithms Memory, structures, algorithmic thinking
Dynamic Programming Overlapping subproblems, classic patterns
3D Graphics & Three.js GPU pipeline, WebGL, Three.js
Three.js Part 2 Three.js from first principles
HTML Canvas 2D graphics, animation, CAD foundations
Interface Design Visual hierarchy, spacing, design systems
Git Systems Content-addressable versions, branching logic
Build Tetris Build a complete game from scratch
SQL Fundamentals Pure SQL — queries, joins, aggregation
Python + SQL Relational model, queries and performance with Python
NoSQL Databases Document stores, CAP theorem and scale
Applied Statistics Data, inference and statistical modeling
Command Line Terminal, filesystem and shell mastery
C++ Programming Zero to software engineer — complete C++ mastery

Tools & Environments

Tool What it does
Step-by-step Math Solver Derivatives and integrals walked step by step. Exportable annotated sessions for instructors and students.
Live Code Environments Python, JavaScript, C++, and React — run in browser, no install
OpenMAT MATLAB-style matrix workspace for linear algebra and numerical work
Synchronized Proof Visualizations Every proof step advances the geometry in lockstep
CNC Simulator Program and visualize G-Code toolpaths in the browser
Physics Lab Interactive physics experiments — manipulate and observe live
Digital Electronics Lab Build and test logic circuits in the browser
Drawing & Drafting Apps Freehand and precision CAD-style tools built into the platform
AI Tutor Conversational STEM tutor with full lesson context
P2P Study Chat Global and per-lesson — no server, no account, WebRTC over BitTorrent/Nostr DHT
Embedded Video Library Curated STEM videos plus support for your own

Learn By Playing

These games are built on the math and physics being taught — not rewards, but the lesson itself:

  • Pool / Billiards — collision physics, momentum, angles
  • 3D Basketball — projectile motion and 3D space
  • Mini Golf — geometry, trajectories, angle relationships
  • Football Calculus — real calculus applied to real throws
  • Arkanoid — vectors, collision detection, game loop
  • Build Tetris — complete guided project from empty file to shipped game

Download

Platform How
Web (any device) Open in browser → — nothing to install
Windows (10/11 64-bit) Download latest release →
macOS Coming soon

The Windows build is currently unsigned — code-signing certificates are a significant cost for an independent open-source project. The source code and full build pipeline are public for anyone who wants to verify.


Support This Project

UpSkillOS is free, ad-free, and built by one developer. If it matters to you:

  • Star this repo — the single most effective thing you can do for visibility
  • 🔀 Contribute — see below for where to start
  • 📣 Share it — send it to a student who's struggling, a professor who cares, a workforce counselor, a union
  • 💬 Open a Discussion — tell us who you are and how you're using it

Grant funders and foundations: UpSkillOS is seeking support for full-time development, expanded curriculum, accessibility improvements (WCAG 2.1 AA), and multilingual content (Spanish first). GPL-3.0 licensed, permanently free. If your organization funds open education, STEM access, digital equity, or workforce development, please reach out via Discussions.


First Contributions

Not sure where to start? Here's where contributors fit in:

  • Lesson writing — the in-app tutorial (click ? in the nav) walks through the full schema with live preview. No prior codebase knowledge needed.
  • Visualization creation — add a D3, Three.js, or React visualization to an existing lesson
  • Proof animations — improve or add synchronized proof steps
  • Accessibility — WCAG 2.1 AA audit is a priority, help welcome
  • Translation — Spanish is first in the roadmap
  • Curriculum review — subject matter experts welcome for accuracy review
  • Bug fixes — check open issues

Full technical reference: CONTRIBUTING.md


For Developers — Getting Started

Requirements: Node.js 18+, npm 9+

git clone https://github.com/g4m3rm1k3/upskillos.git
cd upskillos
npm install
npm run dev        # http://localhost:5173
npm run build      # production build + search index
npm run preview    # preview production build

Desktop app

npm run desktop:build    # Windows .exe / macOS .dmg
# Output: desktop/staging/release/

Optional local backend

npm run backend        # LAN hosting (127.0.0.1:4318)
npm run backend:lan    # exposes on local network

Not required for web or desktop. Enables self-hosted institutional deployments.


Tech Stack

Tool Role
React 18 + Vite 5 UI and build
D3.js 7 2D interactive visualizations
Three.js 3D visualizations and graphics courses
KaTeX Math rendering
Pyodide Python runtime in browser
Tailwind CSS Styling with full dark mode
Fuse.js Full-text search across all lessons
Trystero + WebRTC Serverless P2P study chat
Electron Desktop app

Project Structure

src/
  content/          # lesson files — one JS object per lesson
  components/
    chat/           # P2P study chat (global + lesson rooms)
    viz/
      d3/           # 2D D3 visualizations
      three/        # 3D Three.js visualizations
      react/        # React visualizations, notebooks, games, labs
      matter/       # Matter.js physics simulations
      geometry/     # Geometry book visualizations
      VizFrame.jsx  # registry — maps string IDs to components
    lesson/         # lesson layout and math solver
    math/           # KaTeX wrappers
  pages/
  context/          # progress, theme, chat state
public/
  search-index.json # generated by npm run build
desktop/
  app/              # Electron main process
docs/               # contributor guides and standards
scripts/            # build and validation scripts

Roadmap

  • Screenshots and demo GIFs in README
  • Expanded manufacturing and trades tracks
  • Adaptive learning paths
  • Accessibility audit (WCAG 2.1 AA)
  • macOS desktop app
  • Multilingual content (Spanish first)
  • Mobile-first responsive pass
  • GitHub Sponsors
  • Doc drift automation (CI check that README/ARCHITECTURE stay in sync with codebase)
  • Agent workflow system (structured process for AI-assisted content development)

License

GPL-3.0 — free to use, modify, distribute. Derivative works must remain open source.


Built with the belief that access to a rigorous education should never depend on which university you can afford, which professor you got, or which platform your institution bought.

The technical ladder is open to everyone. UpSkillOS is the climb.