codeBoot
learn programming in a simple web-based IDE

try it!
What codeBoot is

An IDE designed for learning.

Every feature exists because a beginner needs it.

01

Local-first in your browser

No install, no admin rights, no set-up. Open the URL and start typing — works on your laptop, tablet or phone.

02

Step-by-step execution

Single-step through every expression. Errors stop being mysterious.

03

Easily embeddable

Drop codeBoot into a textbook, a slide deck, a course site. Every exercise becomes interactive — students don't switch tabs.

04

Libraries

Built-in support for Turtle graphics, pixel drawing interface, sound generation, web programming, charting, tabular data and more.

05

Documentation

Easy to use documentation with executable examples is provided.

06

Based on Python

Uses a subset of the Python programming language specifically for teaching.

Why codeBoot exists

Learning to program shouldn't start with five pages of installation instructions.

We believe the first hour of an introductory programming class is precious. It should be spent understanding the subject matter, not configuring a system. codeBoot was built so that no student ever loses their first session — or their tenth.

— The codeBoot team

See it run

Visible execution,
one step at a time.

codeBoot runs the program step-by-step, highlighting each step as it goes — students see exactly how the code executes, recursion and all.

Follow the highlight; press to run, to advance one step, or to pause execution while it runs.

Graphics

Draw it — stroke by stroke,
or pixel by pixel.

A turtle you steer and a pixel screen you address point by point. The drawing renders live in a window beside your code — no imports, no canvas boilerplate.

  • Turtle: move, turn, pen, colors
  • An addressable pixel screen for low-level graphics
  • The drawing appears next to the code, live
rosace.py — turtle
Charting & plotting

Bring the numbers,
we've got the charts.

Hand chart() a table of values and codeBoot plots it — bars, lines, scatter. It's how students see an algorithm's behavior, not just its final output.

  • One function: chart(data)
  • Great for animating a sort or plotting a function
  • Redraws on every call — perfect when stepping
plot.py — chart()
Working with data

Open a CSV.
Get a spreadsheet, built in.

Drop a .csv into codeBoot and it opens in a familiar spreadsheet grid — rows, columns, cells. Read it straight from Python: the console below opens villes.csv and totals the cities' population.

  • .csv files open in a spreadsheet view
  • Read and write the data from your program
  • No external spreadsheet to install
villes.csv — spreadsheet + console
Microapps & sharing

Build an app.
Share it with one link.

codeBoot isn't only for exercises. Because Python talks to the browser through a JS bridge — the DOM, any JS library, even one imported from the web — you can write real little web apps right in the editor. We call them microapps because sharing one is a single click: codeBoot packs the whole thing into a URL.

Inside the playground

A web app, written in the editor.

A few lines of Python build the markup and wire the button. The output renders in codeBoot's own HTML window — the “playground” — right next to the code that produced it.

  • Full DOM access from Python
  • Any JS library, even imported from the web
  • Nothing to install, nothing to configure
dice — inside codeBoot

dice — driving this page
Out in the page

…or drive the page itself.

The same program can reach any element in the host document. Here, codeBoot wires the page's die and button — which live outside the editor — to a Python function. Click the button below and codeBoot's interpreter handles the event, then updates the page.

  • The click handler is a Python function run by codeBoot — not page JavaScript
  • Python drives the page's real DOM
  • Shareable as a microapp, in one click
this widget lives in the page, not in codeBoot
⚀ ⚀
this click runs Python inside codeBoot

To share a microapp, right-click the Execute button to open its context menu, then copy the link. codeBoot encodes the whole program and its launch settings into the URL — whoever opens it sees your app run, with nothing to install.

By design

What's deliberately left out.

codeBoot leaves out features you'd expect from a professional IDE — on purpose. A little friction is pedagogical: it forces students to build the mental models that shortcuts would otherwise hide.

not included

Code autocompletion

No popups finishing your function names. Students recall the syntax themselves — that repetition is how it sticks.

not included

Heavy refactoring tools

No rename-everywhere, no automatic extraction. Restructuring code by hand is how you learn how it actually fits together.

not included

Code versioning

No Git, no branches, no history to manage. Attention stays on the program in front of you, not the tooling. (A lightweight Git shim is on our roadmap.)

not included

Advanced Python

No list comprehensions, decorators, or generators. One clear way to do things — students learn the fundamentals before the shortcuts.

The friction isn't an oversight. It's the effort that turns “it works” into “I understand why it works.”

Get in touch

Let's talk about your classroom.

Send us an email! we're always happy to showcase codeBoot, talk through real use cases, and help you integrate it into your classroom.