A free, open-source interactive learning OS — built around active, visual, intuition-first learning.
▶ Open the App · Download for Windows · Contribute · Discussions
📸 Screenshots and GIFs coming soon — synchronized proof visualizations, CNC simulator, live math solver, physics lab, Three.js environments, and desktop UI. Try it now →
- 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.
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.
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.
- 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
- 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 |
| 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 |
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
| 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.
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.
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
Requirements: Node.js 18+, npm 9+
git clone https://github.com/g4m3rm1k3/upskillos.git
cd upskillos
npm install
npm run dev # http://localhost:5173npm run build # production build + search index
npm run preview # preview production buildnpm run desktop:build # Windows .exe / macOS .dmg
# Output: desktop/staging/release/npm run backend # LAN hosting (127.0.0.1:4318)
npm run backend:lan # exposes on local networkNot required for web or desktop. Enables self-hosted institutional deployments.
| 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 |
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
- 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)
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.