How We Got Here

Timeline

JetCad3 did not start in 2026. It started with a high-school CAD class and a bad opinion about AutoCAD 2002. Everything below is drawn from the actual git history — including the branches that went nowhere and the two years the whole thing sat still.

11
years of commits
4,961
commits
21
repositories
319
releases shipped
The interactive timeline needs a pointer and some room — open this page on a larger screen to zoom through the commit history. The full story is below.
2009.012015.06No git history

Before the receipts

A CAD class, a bad opinion, and fifteen years of stubbornness

There is no git history for these years. Everything below is memory.

It starts in a high-school CAD class taught on AutoCAD 2002, which I thought was absolute rubbish. I was naive enough to think I could do better — and from that point on, nearly every decision I made in my career was in service of that one end goal.

I'd already been working on computers by then. My first job was as a computer repair tech at age 11, which is where I learned computers and, eventually, programming. Out of high school I spent a year as an industrial automation tech, repairing welders, plasma cutters, and robotics — learning the machines I would later spend a decade writing software for.

Then I went to learn the trade properly, at Oliver Machine in Adrian, Michigan, a shop famous for its drill grinders. After that I started my first business: a job-shop machine and fab shop. It grew into an OEM building CNC plasma machines — and that is what finally bought me the time to chase the thing I'd wanted since the CAD class.

Everything after this point is in the record.

2015.062016.09

ProfileCAD

C++, wxWidgets, OpenGL — and a JavaScript engine bolted to the front

The first serious attempt. ProfileCAD was 2D CAD/CAM with a Mastercam V8 feel, written in C++ against wxWidgets and OpenGL. The DXF support was rough and it crashed more than it should have, but it did real work — for exactly one user, me.

The architecture is the part worth pausing on. From the README:

ProfileCAD at its core is just a Javascript engine written in C++ that knows how to draw lines and arcs using OpenGL and wxWidgets. All user interaction is coded in Javascript, which the Engine interprets.

Press ctrl-R, see your changes. That is JetCad3's Electron and WebAssembly split, described in 2015 and shipped in 2026.

The branches are the story

This era is where you can watch the decisions happen. sdl-dev was tried and folded back in. vtk-dev was tried and folded back in, with a final commit message that just says "vtk seems to be a dead end." glut-concept got exactly one commit in February 2016 and was never touched again. There was a brief flirtation with Qt.

And on September 3rd, 2015, a branch called web appeared containing two files: ProfileCAD.html and Engine.js. The next era was already sitting inside this one.

It was nearly lost

I deleted this repository at some point and don't remember why. It survived because a stranger had pushed a copy of it to GitHub in January 2019. It has been recovered and re-archived — every commit below is real, with its original dates intact.

ProfileCAD · 253
  • 2015-06-24
    The first commit that still exists
  • 2015-09-03
    The browser era starts as a side branch
  • 2015-09-06
    "vtk seems to be a dead end"
2016.092021.08No git history

JetCad — in the browser

The first paying customers, at $6 a month

No repository survives from these years. This is the gap.

ProfileCAD moved into the cloud and got a new name. JetCad ran entirely in the browser, served from jetcad.io, and it had paying customers at $6 a month — the first time any of this had ever earned a dollar. It was also the CAD system I recommended to every customer buying a CNC plasma machine from me while I was an OEM, which meant it had to actually work in front of people who were not me.

In April 2018 I wrote this into the old ProfileCAD README, which is the only surviving first-hand account of the transition:

After lots of time spent on this and a lot learned I decided to move everything into the cloud (Will also be an offline version via electron) the project was renamed to JetCad.

Eight years before Electron actually shipped.

JetCad (browser)
  • 2018-01-01 (approx.)
    First paying customers — $6 a month
  • 2018-04-01
    Electron, called eight years early
2021.082024.01

JetCad 2

Off the web, back to C++ — and into fiber lasers

The browser was the wrong place for it. JetCad 2 went back to C++ and wxWidgets so it could run offline, cross-platform, on the shop floor without a connection.

It was the workhorse for over five years. It also grew past CAD: a LinuxCNC backend turned JetCad 2 into the CAD, CAM, and motion control for fiber laser cutters — one program driving the whole machine from drawing to cut.

The branch names from this era read like a to-do list of hard decisions: wx_purge, post_processor, linuxcnc_integration_final.

JetCad 2 · 570JetCad 2 site · 40JetCad ↔ LinuxCNC · 45JetCad Motion FW · 6
  • 2023-12-21
    JetCad 2 runs a fiber laser
2024.022026.02

JetCad 3, first attempt

Seven weeks of C++, then 23 months of silence

The first run at a 3D rewrite was C++ again — glfw, bgfx, and imgui. It opens on February 4th, 2024 with "We have a glfw+bgfx window rendering here" and the commit messages that follow are an honest record of what that felt like: "Trying to sort out what the hell the problem is", "Can't get shaders working", "We're rendering a mesh here but the aspect ratio is not working right".

It got real — phong shading, orbit and zoom, ray-cast mouse picking, machine definitions, a post processor writing test files. Then on March 27th, 2024, it stopped.

Nothing happened for 23 months. That gap is on this timeline at full width, because it is part of the story. The abandoned attempt and the shipped one live in the same repository, and you can scroll straight across the silence between them.

  • 2024-03-27
    The first JetCad 3 stops
2026.02now

JetCad 3

Electron, WebAssembly, and users on every continent

February 19th, 2026: "Initial commit of node.js+electron". Three days later, boolean subtraction was working.

This is the architecture ProfileCAD described in 2015 — a JavaScript front end over a compiled geometry core — except the core is OpenCASCADE compiled to WebAssembly and the front end is a real application. It works, and it has users all over the world.

Everything since has come fast: parametric sketching and solids, the Plasma, Mill, Lathe, Router, and eCAD workspaces, GcodePilot for running the machine, OEM Connect for the partners building on it, a bootable appliance, and a website that handles licensing, the store, and the community.

The release cadence tells its own story — look at the tick marks. It has not slowed down.

JetCad 3 · 2,434jetcad.io · 436JC3 Appliance · 82opencascade.js · 14
  • 2026-02-19
    Starting over, in Electron
  • 2026-03-15
    First build ships
  • 2026-04-28
    JetCad3 2.0
  • 2026-05-27
    Router workspace + the adaptive toolpath engine
  • 2026-06-11
    GcodePilot — JetCad3 starts running the machine
  • 2026-07-12
    The biggest update yet
  • 2026-07-21
    JetCad3 becomes free to use
  • 2026-07-24
    True 3D material-removal simulation
  • 2026-08-03
    The Dynamic milling engine, replaced outright
  • 2026-08-05
    Two new workspaces: Oxyfuel and eCAD
  • 2026-08-23
    Every Hypertherm cut chart, rebuilt from the books
  • 2026-08-29 (approx.)
    JetFlight reaches FluidNC parity
2017.04now

Making the machines move

From a GRBL fork with torch height control to a real-time-free motion stack

CAD was only ever half of it. If you are going to sell plasma machines, something has to actually drive them.

It starts with ncPilot in 2017 — a G-code sender and machine console, the direct ancestor of GcodePilot in JetCad3 today. Then the Xmotion hardware: an automatic torch height control device, an all-in-one motion control board, and firmware that took three genuine runs at the problem. It started on Marlin, got rebuilt from_scratch, and finally settled as a GRBL fork with ATHC built into the firmware. All of it written by hand, years before there was an AI to ask.

AutomateAnything in 2023 was a general-purpose automation runtime, and it is the seed that set JetFlight in motion. JetFlight is essentially AutomateAnything with a full motion control stack on top — one that synchronizes motion across any number of controllers and joints, on any operating system, with no real-time kernel. That is essentially unheard of in motion control and automation.

The FluidNC fork is why full-stack JetCad3 machines could start shipping before JetFlight was production ready. Our first OEM partner in Australia already had their own breakout board running GRBLHal; the fork met them where they were. It stays free for hobby use, permanently.

JetFlight sets the stage for 5-axis bevel plasma, including bevel rotary tube machines. But it is not a plasma controller — it will sit in front of mills, lathes, routers, waterjets, and lasers. It can control anything with any kinematics.

That is the part of this timeline that hasn't happened yet.

  • 2026-06-09
    First OEM partner ships full-stack
  • 2026-08-25 (approx.)
    JetFlight makes its first plasma cuts

Every date, commit count, branch, and release on this page is read directly from git — regenerate it with node scripts/build-timeline.mjs. The years before June 2015 have no repository behind them and are written from memory, and they are marked as such wherever they appear.