It quizzes you on the lesson
After each lesson it posts that day's questions in your channel, one at a time. You answer in your own words. It checks the answer, says what you got right, and gives you another go when you didn't.
Nothing to install — it runs in your browser. Eight weeks later that same instinct has turned into a car that explores a world it has never seen and delivers, on a stack you wrote line by line. Twenty-five minutes a day is all it asks of you, and you never do it alone: every lesson ends in a private Slack channel with me and a teaching assistant that can see the code you just ran.
The thing that stops people isn't the material. It's being stuck at eleven at night with nobody to ask. So each student gets a private Slack channel with me and an AI teaching assistant that knows the lesson you're on and can see the code you just ran. It's live, and this is what it does with you every day.
After each lesson it posts that day's questions in your channel, one at a time. You answer in your own words. It checks the answer, says what you got right, and gives you another go when you didn't.
When the quiz is done it posts the exercise: what it's called, how long to spend on it, the Target in one line, and your own link into the simulator.
Every run in the simulator saves your code and your numbers to it. Ask for help and it reads your latest code and your last run, so you don't paste anything.
Hints come off a ladder I wrote for each exercise, one rung at a time: a question back, then the idea, then the part of the lesson to reread, then a small piece of code. Nothing until you've run something yourself.
Submit run replays your car through the official run and scores it against the Target. On the leaderboard exercises, once you pass, a faster run ranks higher.
If you climb the whole ladder and you're still stuck, it tells me, and you tag me in the channel with your code. I read the channels and jump in myself.
What it won't do. Write your controller for you. The whole point is that the stack is yours, line by line, and a tutor that gave you the answer would take that away. It also keeps an eye on what you've left open: if a quiz or an exercise is sitting unfinished, it nudges you.
That last one is the one that changes what happens to your job applications. You won't have memorized a framework; you'll have written the pieces frameworks are made of, and that's what lets you defend your work when someone asks.
Almost every robotics course starts with the framework and hopes you'll infer the problem it solves. That's backwards, and it's why people bounce off ROS.
Here you spend eight weeks writing an autonomous vehicle from nothing — your own PID, your own map, your own Kalman filter, your own planner — in a browser simulator with zero setup. You find out firsthand what's hard. Then, on the last day, you meet the name ROS gives each piece. The framework stops being arbitrary the moment every part of it is a problem you've already solved yourself.
Read this as a list of capabilities you pick up in order, not as a syllabus. Every week ends with something running that didn't run the week before.
Browser-based. Nothing to install.
One function, three numbers, sixty times a second. Turning radius, throttle, coordinate frames, heading, and your first state machine. You're driving within twenty minutes of opening the first lesson.
P, then D, then I — each term added because the one before it fell short. Then sixteen lidar beams, grouped and compared.
Obstacle avoidance, a priority order between behaviors, and lidar hits placed on a grid. Ends with the first leaderboard.
Odometry, and why it drifts: a two-degree heading error becomes a large position error. Noise, the bell curve, and calibration.
Free space from every beam, log-odds, what drift does to walls, mapping a world you've never seen, and matching a scan to a map.
One dimension, then two, then heading. Lidar beams as measurements, tuning until the filter's doubt matches its real error, and where a Gaussian filter fails.
The grid as a graph, Dijkstra and A*, walls grown by the car's size, waypoints, replanning, and planning only through what the lidar has seen.
Pure pursuit, speed limits that stop where you mean to, frontier exploration, and the final run: your car explores a world it has never seen and delivers. Two leaderboards.
Every piece you wrote, next to the name it has in ROS on a real robot. No exercise, just the map from what you built to what you'll meet.
On localization, honestly. You write the estimator yourself — a Kalman filter, from one dimension up to lidar beams against a known map — and you watch where it breaks. What you don't write here is mapping and localizing at the same time: you map first, then localize against the finished map, which is how most deployed robots work anyway. Being the person who can look at a screen and say "your covariance is diverging because your wheel radius is wrong" gets you hired.
Each morning you get the day's lesson. You read it, you answer the quiz in Slack, and you write code in the simulator.
If you've got the time and it's clicking, ask for more and I'll send more. Some people run two or three lessons a day and finish in half the time. Nothing gets watered down — you just get through it sooner.
Every lesson ends with one button into your private channel, where the teaching assistant already has the day's questions waiting. Ask it about the material at any hour; it knows which lesson you're on.
Weekly office hours, and how to get the most out of them. One group call a week, open to everyone. Submit your question at least 24 hours beforehand — that way I can dig into it properly and come back with a real answer instead of an off-the-cuff one, and everybody else gets the benefit of the question too.
To be straight with you about what this doesn't include: private time with me, or individual review of your code. That's what The Forge is for, and I'd rather tell you now than have you find out in week three.
This is built to fit around a full-time job, and it is still fifty-seven days of showing up. Nobody has ever absorbed this material by reading it — you write code every single day, and the days you skip are the days it stops compounding. If you can't find twenty-five minutes daily, wait until you can. I'd rather you start in March and finish than start today and stall in week five.
Foundations is a laptop-only program, so be clear-eyed about what it is: it makes you someone who can build robot software and prove it. Three honest destinations from there.
The most common route, and the least discussed. Plenty of people don't change employer — they become the one at their current company who can talk to the robotics or automation group, and get moved onto it.
Robotics teams screen for evidence you've made a machine work. An autonomous stack you wrote line by line, and can explain line by line, is that evidence. It gets you the first call; the rest is on you.
Some people finish and want to feel a real motor stall. That's The Forge — and you'll get four times as much out of it having done this first.
What I'm not telling you. That this gets you a job. It doesn't, on its own — nothing you can buy does. Robotics hiring also looks at years of experience, at where you are, and at whether a team has a seat open. What this removes is the specific reason you're being passed over right now, which is that there's nothing in your history showing you can make a robot work.
Foundations isn't a checkout button. I'd rather know where you're starting from before you start, because putting someone in the wrong program at the wrong time is how people end up with a half-finished robot and a worse opinion of robotics. The form takes about six minutes.
One week, no argument. Do the first week: the lessons, the quizzes in Slack, the exercises in the simulator. By then you've seen the whole thing. If you don't think it's worth it, email me and I refund you in full. You don't have to explain and I won't try to talk you out of it. The only condition is that you did the work; I can't refund a program you didn't open.