WebTerm is a browser-based terminal sandbox for the AI era. As AI coding tools become mainstream, CLI literacy matters for both engineers and non-engineers. But many beginners are afraid to open their local terminal because they might break something. WebTerm provides an ephemeral, no-signup, free, and safe environment to learn Linux commands, Git workflows, and CLI-based AI tools. Currently in beta β feedback is welcome!
Learn the terminal like a game β in a browser sandbox
An interactive platform for learning the terminal, Git, and Vim. Hand-drawn slides teach the concept; a real in-browser sandbox checks every command you type. Progress across a 3D world map with a companion that evolves. 12 courses, 129 lessons, all free.
Earlier this year I launched WebTerm here: a browser terminal where running `rm -rf /` breaks nothing. More than 1,000 people use it every day now.
Its UI is stripped down to almost nothing, which experienced developers liked. But it's for trying a command the moment you think of it, not for learning things in order, and there was nowhere to explain anything properly.
Engineers who want to get better keep asking me what they should be learning. AI writing the code doesn't end that. How much of the AI's work you refuse to leave as a black box is what decides whether you can step in as a professional, and the more work AI absorbs, the fewer chances there are to build that experience. So I built WebTerm Learn.
Hand-drawn slides teach the idea, then you type the real commands in a real terminal. Every command is checked as you go.
The curriculum is a 3D world map. Each course is a land, so you always know where to go next.
Missions drop you into real incidents: a release that took down production, a secret pushed to a repo.
Pilots meet an engine failure in a simulator, not in the air. Developers should have the same thing.
Terminal, Git, and Vim today, with data analysis, software development, networking, and security to come. All free, and the first lesson takes about a minute.
Whatever you think, I want to hear it. I'll read every comment and reply.
Thank you! Git is where I've poured the most hours, so that's great to hear. And glad you found webterm.app too, that's actually where the whole project started!
Report
The no-signup and free approach makes this really easy to try. I especially like the balance of hand-drawn explanations with a real terminal instead of learning everything from static examples.
No-signup was a very deliberate choice. I hated the idea of someone getting curious and then hitting a signup wall before even typing a single command. And yes, static examples were exactly what I was trying to get away from.
Glad it clicked!
Report
@daiaoki Checking every command as you go is where this gets hard, because on a real terminal there are usually five ways to get the same result, and a learner who reaches the right end state with different flags than you expected should still pass. Does the check compare the command string, or the resulting state of the sandbox filesystem?
Great question, and this was one of my biggest design worries too.
The checks run against the result wherever multiple commands can get you there: the sandbox filesystem, the git state (staging area, branches), or the command output. So git switch -c and git checkout -b both pass, and any regex that produces the right grep output counts, not just the one I had in mind.
The command string is only matched in the few lessons where a specific flag is itself the thing being taught.
That said, if you ever hit a check that rejects something a real terminal would accept, that's a bug in my book and I'd love to hear about it.
Report
The line about refusing to leave the AI's work as a black box is the right one, and it goes further than the terminal. I shipped a render queue an agent wrote, approved the diff twice without reading past the function signature, and lost three days to a stale job id. So the lesson I'd add is reading a diff, not typing commands, because the way people get hurt now is approving code rather than writing the wrong line. Free and no signup is the reason this one actually gets used.
WebTerm
Hi Product Hunt! I'm Dai, the maker of WebTerm.
Earlier this year I launched WebTerm here: a browser terminal where running `rm -rf /` breaks nothing. More than 1,000 people use it every day now.
Its UI is stripped down to almost nothing, which experienced developers liked. But it's for trying a command the moment you think of it, not for learning things in order, and there was nowhere to explain anything properly.
Engineers who want to get better keep asking me what they should be learning. AI writing the code doesn't end that. How much of the AI's work you refuse to leave as a black box is what decides whether you can step in as a professional, and the more work AI absorbs, the fewer chances there are to build that experience. So I built WebTerm Learn.
Hand-drawn slides teach the idea, then you type the real commands in a real terminal. Every command is checked as you go.
The curriculum is a 3D world map. Each course is a land, so you always know where to go next.
Missions drop you into real incidents: a release that took down production, a secret pushed to a repo.
Pilots meet an engine failure in a simulator, not in the air. Developers should have the same thing.
Terminal, Git, and Vim today, with data analysis, software development, networking, and security to come. All free, and the first lesson takes about a minute.
Whatever you think, I want to hear it. I'll read every comment and reply.
@daiaokiΒ What a cool product!
WebTerm
@patraΒ
Thank you, and thanks for the kind words all over the thread today!
Just tried it. Really good git lessons. The other format that's on https://webterm.app/ is good too.
WebTerm
@patraΒ
Thank you! Git is where I've poured the most hours, so that's great to hear. And glad you found webterm.app too, that's actually where the whole project started!
The no-signup and free approach makes this really easy to try. I especially like the balance of hand-drawn explanations with a real terminal instead of learning everything from static examples.
WebTerm
Thanks!
No-signup was a very deliberate choice. I hated the idea of someone getting curious and then hitting a signup wall before even typing a single command. And yes, static examples were exactly what I was trying to get away from.
Glad it clicked!
@daiaoki Checking every command as you go is where this gets hard, because on a real terminal there are usually five ways to get the same result, and a learner who reaches the right end state with different flags than you expected should still pass. Does the check compare the command string, or the resulting state of the sandbox filesystem?
WebTerm
@clement_avqΒ
Great question, and this was one of my biggest design worries too.
The checks run against the result wherever multiple commands can get you there: the sandbox filesystem, the git state (staging area, branches), or the command output. So git switch -c and git checkout -b both pass, and any regex that produces the right grep output counts, not just the one I had in mind.
The command string is only matched in the few lessons where a specific flag is itself the thing being taught.
That said, if you ever hit a check that rejects something a real terminal would accept, that's a bug in my book and I'd love to hear about it.
The line about refusing to leave the AI's work as a black box is the right one, and it goes further than the terminal. I shipped a render queue an agent wrote, approved the diff twice without reading past the function signature, and lost three days to a stale job id. So the lesson I'd add is reading a diff, not typing commands, because the way people get hurt now is approving code rather than writing the wrong line. Free and no signup is the reason this one actually gets used.
WebTerm
@asadmalik901Β
Thanks for sharing this! Completely agree that reviewing agent output deserves its own lesson.
It's something I've been wanting to build, and the fun challenge is planting a bug that feels real instead of a puzzle.
Added to the course backlog!