preview · v0.4.17 · free during beta

The code editor that teaches as you ship

JEditor is a native desktop IDE with an analogy-first curriculum built in. Every concept opens with a real-world story, then a runnable example, then a project of your own. Works offline after one signup.

$ one signup · works offline forever · no credit card · no AI generated content

JEditor — phase-01 / css-selectors.mdx
style.css
index.html
Run
1// CSS selectors — the address system
2 
3.card {
4 padding: 1.5rem;
5 border: 1px solid var(--border);
6 border-radius: 8px;
7}
8 
9.card:hover {
10 transform: translateY(-2px);
11}
● connectedUTF-8CSS
Ln 6, Col 19v0.4.17
#01

Analogies you already know

Closures = a backpack. The DOM = a remote control. Every concept opens with something physical.

#02

Runnable examples

Two example projects per concept. Click → open → run. No copy-paste from blog posts.

#03

Offline by design

Whole curriculum bundled in the binary. Sign up once. Then a basement with no wifi works fine.

#04

One sequenced path

HTML → CSS → JS → React → Next → Go → Mobile → CS. Each concept ships with interview questions.

the method

Most courses tell.
JEditor shows.

Every concept opens with a real-world analogy. Then a runnable example you open in the editor. Then a project you build yourself. Same rhythm, every page.

  • [+]Analogy first — a thing you've already held.
  • [+]Illustration — diagram or short screen recording.
  • [+]Explanation — the why, before the syntax.
  • [+]Two example projects — open them, change them, break them.
  • [+]One exercise you ship to your own portfolio.
  • [+]Four interview questions you can actually answer.
closures.mdxLIVE
[analogy]

A closure is a backpack a function carries with it. When you hand the function off, the backpack goes too — even if you forget what you packed.

function makeCounter() {
  let count = 0 // in the backpack
  return() => ++count
}
[try it]

Open the example. Add a second counter. Notice they don't share their backpacks.

offline
still learning
phase-01 — web foundations100%
phase-02 — programming foundations12%
phase-03 — go services0%
47 concepts completed locallysync queued
offline by design

Built for spotty internet. On purpose.

Browser-based platforms break the moment you lose connection. JEditor does the opposite: signup is the only step that touches the network. After that, the curriculum, the editor, and your progress all live on your laptop. We reconcile with the server whenever it next sees one — quietly, in the background.

One install

≈80 MB native binary

Local SQLite

Progress lives next to the lessons

Background sync

Reconciles when wifi reappears

Signed builds

Apple notarized, Windows signed

the path

One sequenced path.
Not 47 tabs.

The phases stack. Each one ends in a portfolio project that uses everything from the phases before it.

phase-01LIVE

Web foundations

HTML, CSS, JavaScript, React, TypeScript

47 concepts

phase-02NEXT

Programming foundations

Scope, closures, modules, Git, debugging

20 concepts

phase-03

Backend with Go

Gin, GORM, REST, real DB

28 concepts

phase-04

Mobile with Expo

Ship to iOS + Android

22 concepts

phase-05

Desktop with Wails

Native apps from the same JS

15 concepts

phase-06

CS foundations

Data structures, algorithms, interviews

30 concepts

the stack

Every language you'll need to ship.

No bouncing between courses. The path covers the entire stack a modern developer ships — from the markup that builds the page to the API that powers it to the mobile app that consumes it.

HTML
CSS
JavaScript
TypeScript
React
Next.js
Tailwind
Node.js
Go
SQL
PostgreSQL
Git
Bash
Docker
Expo
React Native
Wails
REST
get it

Native builds for Mac, Windows, and Linux.

≈80 MB. The whole curriculum ships inside. Signed and notarized.

Ready when you are.

Sign up takes about thirty seconds. Then the editor opens, the curriculum sidebar lists every phase, and you pick your first concept.