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
Every explored routeJan 2026 – Mar 2027Months
JetCad 3, first attempt
JetCad 3
Scroll on the timeline to zoom — out for the story, in for the machinery. Drag to pan, double-click to fit. The spine is JetCad itself; branches above are supporting projects, below is motion control. Solid branches that rejoin the spine were merged back — dashed ones ending in a hollow circle were dropped.
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.01 – 2015.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.06 – 2016.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.09 – 2021.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.08 – 2024.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.
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.02 – now
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.
Every Hypertherm cut chart, rebuilt from the books
2026-08-29 (approx.)
JetFlight reaches FluidNC parity
2017.04 – now
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.