Build without a tutorial holding your hand
Tutorials teach you to follow; projects teach you to build. Once you understand the fundamentals, the next leap is building from a written spec — even one you wrote yourself — and reaching for documentation and search only when you are stuck, not a video walking you through every keystroke.
Following is not the same as building
Finishing a tutorial feels productive: the app works and you typed every line. But someone else made all the decisions — what to build first, how to structure the code, what to do when something breaks. Those decisions are the actual job.
That's why many people can complete tutorial after tutorial and still freeze in front of an empty editor. It's sometimes called "tutorial hell", and the way out isn't another, better tutorial.
Building on your own will feel slower and more uncomfortable at first. That discomfort is not a sign you aren't ready. It's the sensation of practising the part that tutorials skip: deciding, getting stuck, and finding your way out.
Write a short spec first
Before coding, write a few lines describing what you're building, in plain language. This spec replaces the tutorial's script: it tells you what to do next without telling you how.
A good beginner spec covers:
- What the app does, in one sentence.
- What the user can do, as a short list: "add a task", "mark a task done", "delete a task".
- What happens in the edge cases you can think of: "an empty task can't be added".
When you hit a question the spec doesn't answer — should deleting ask for confirmation? — choose the simplest reasonable option, write that decision into the spec, and keep moving. Don't let an open question stall the build.
Take the smallest next step
"Build the to-do app" is not a step. Neither is "user can add a task". Break each spec item down until the next step is something you can do and check in a few minutes.
For "user can add a task", that might be:
- Show a hardcoded list of two tasks on the page.
- Add an input and a button that logs the input's value when clicked.
- Push the value into the list and re-render it.
- Ignore empty input.
After each step, run the app and confirm it works before moving on. When something breaks, you'll know it was caused by the last small change, not by an hour of untested code.
Use docs and search well
When you don't know how to do something, search for that one specific thing, not for a tutorial of the whole app. "Sort array of objects by date JavaScript" is a good query; "how to build a to-do app" is not.
For web development, MDN Web Docs is the most reliable reference. Its pages show what a function takes, what it returns, and short examples.
When you find an answer on a forum or blog, check its date and compare it with the official docs. Older answers may use outdated patterns, like var everywhere or jQuery for things the browser now does natively.
And read error messages carefully. TypeError: Cannot read properties of undefined (reading 'map') tells you exactly what's wrong: something you called .map on is undefined. The message and its line number are the best starting clues you'll get.
Being stuck is part of the work
Getting stuck isn't a sign the approach is failing; it's the approach working. Have a plan for it instead of reaching for a video:
- Re-read the error or restate the problem in one sentence.
- Shrink it: reproduce the issue in the fewest lines possible.
- Timebox it. After roughly 20–30 minutes of real effort with no progress, ask for help, and include what you expected, what happened, and what you already tried.
AI assistants are useful here, but use them like a knowledgeable colleague, not a tutorial. Ask them to explain an error or a concept. If one hands you working code you don't understand, ask it to explain each line, then write it yourself. Code you can't explain is code you can't debug later.
What to do now
Pick the project you scoped in the previous step (or a small one like a to-do list or a tip calculator) and build it without a step-by-step tutorial:
- Write a short spec: one sentence, a list of user actions, and a few edge cases.
- Break the first spec item into steps that each take a few minutes, and check the app after each one.
- When you need to know how to do something, search for that specific thing and prefer MDN or official docs.
- When stuck, timebox, shrink the problem, and then ask with specifics.
- Keep a short log of what you looked up. It shows you how much you figured out on your own.
Resources
Curated resources for this node are on the way. Use what you already know how to search for, and check back soon.