//SoloScript

Rebuild your coding muscle memory

A few minutes of unassisted practice a day, calibrated to exactly where you're rusty, not another course, not another streak to babysit.

Start practicingFree, no account needed.
exercise.js
APPEND TO A LIST

Add the value 5 to the end of the list called nums.

1nums.append(5)
Right idea, wrong language
.append() is Python. In JavaScript you want .push().
// The Problem

You can prompt your way to any solution. Then the interview happens.

Autocomplete is good enough now that plenty of developers haven't hand-written a loop from memory in months, until a technical interview, a broken laptop, or a whiteboard puts you back in a room with just your own head. This is what I built after that exact moment happened to me.

$ how-it-works --explain
how-it-works.js
01
Pick a language

JavaScript, TypeScript, Python, Go, or Java: practice the one you actually use, not generic pseudocode.

02
Write it from memory

No autocomplete, no suggestions. Just the prompt and a blank editor.

03
Get caught, not just corrected

Write Python syntax in a JavaScript exercise and it'll tell you exactly that, not just "wrong."

keep scrolling ↓
// What makes this different
confusion.js
Catches confusion, not just mistakes

Write Python syntax while practicing JavaScript and it tells you exactly that: right idea, wrong language, instead of a flat "incorrect."

weak-spots.js
Practices where you're actually weak

Exercises are weighted toward the language/concept pairs you get wrong most, tracked per language, not random drills, not one language you happen to be strong in.

hints.js
Hints that escalate, not abandon

Stuck? Instead of skipping to something easier, get progressively more help: a nudge, then the reasoning, then the answer, until you actually solve it.

why.js
Understand why, not just what

Every exercise explains the actual language-design reasoning behind the difference, not just the correct syntax to memorize.

progress.js
Solo progress, quietly earned

XP and levels per language, no streaks to babysit, no push notifications, no mascot. Progress reflects skill, quietly.

html.css
A full HTML & CSS curriculum

Structure, styling, flexbox and grid, forms, accessibility — including visual-match challenges: see a rendered target, write the markup that reproduces it, never shown the source.

sandbox.ts
A sandbox to just build

Free-form JavaScript or TypeScript, multiple files that import from each other, or a live HTML/CSS/JS preview. No prompts, no grading, just a place to build something.

// Pricing

Beginner content is free, forever.

No required account, no ads — every language plus the HTML and SQL curriculums are free at the Beginner tier, and signing in is only ever optional, for things like streaks and the leaderboard. Becoming a supporter unlocks Intermediate and Advanced exercises, the full Sandbox, and leaderboard participation, and helps keep the free tier free for the next person too.

Free, forever
  • Beginner exercises in every language, plus the HTML and SQL curriculums
  • Daily practice streaks
  • Viewing the leaderboard
See pricing