While "real" hell may or may not exist (no need to get into religious beliefs here), tutorial hell is very real.
My definition of tutorial hell goes something like this:
Tutorial hell is where you write code that others are explaining to you how to write, but you don't understand how to write it yourself when given a blank slate.
At some point, it's time to take the training wheels off and build something on your own.
At Boot.dev, students write their first non-tutorial project after completing the following modules:
Now, keep in mind that Boot.dev students are hands-on-keyboard 100% of the time. I'm not saying you should watch 40 hours of video before building anything, but I am saying you should have a solid understanding of coding fundamentals before building your own idea. You should learn those fundamentals by writing code, but it's best if the projects and challenges you're working on are guided so that you can focus more on learning the concepts and less on figuring out what to build.
Your goal here is not to build something that makes money, or even to build something that will make its way onto your resume.
The goal of this first project is simply to get you used to the process of building something from scratch. You just need to get some practice breaking down a project into smaller pieces. You need to experience that first breath of fresh air as you emerge from the depths of tutorial hell for the first time.
The whole point of a personal project is that it's personal. The idea needs to be yours. Even if the project you build is simple for now, at least it's yours.
Build something that you find interesting.
This probably isn't a project that will make its way onto your portfolio or resume, but it's still good to get into the habit of building things that are interesting and useful. Interesting and useful projects have many benefits:
Use a programming language that you're already at least somewhat familiar with. Assuming you haven't been writing a ton of code outside of Boot.dev, your project should probably be a Python program that runs on the command line. That's fine!
I want to provide a few ideas to get your creative juices flowing, but please don't choose a project from this list without at least putting your own spin on it
Your job as a developer is to constantly build stuff that you've never built before. Don't shy away from an idea because you're not sure where to start. Google it. Ask ChatGPT. Ask the Discord community. You might need to put in an hour of research before starting to decide if your idea is feasible within a 40-hour time frame, but that's fine!
Assuming that you'll be doing something you've never done before! You have some fundamentals under your belt. Now it's time to piece it all together and research as you go.
You're going to get stuck. If you don't get stuck, you probably chose an idea that's way too easy.
The trick is developing a skillset for getting unstuck. This is a skill that will serve you well (and is absolutely necessary) in your career as a developer.
Start with Google. Do some research on your idea. See what others have done when building similar projects. See if there are any libraries you can install to make your life easier.
Talking through your issues with ChatGPT (rubber duck debugging) can be a great way to get unstuck.
Don't have ChatGPT write your code for you! You won't learn that way, and you'll be dreadfully slow if you get stuck in that habit. Instead, use ChatGPT to help you think through your problems, and ask it to try to find bugs in your code or explain code snippets you don't understand.
Keep in mind that ChatGPT can be confidently wrong, so don't take its word as law. Use it to get back on track, but verify the information it feeds you with other sources.
Ask questions in the Boot.dev Discord server, especially if you're a current student (but you're welcome either way)! As with all question-asking, provide as much context as you can so that when your fellow students and mentors help they can efficiently provide you with the information you need.
Get your project out into the world! Again, the purpose of your first-ever personal coding project probably shouldn't be to build something amazing for your resume. That said, I still think you should put enough love into it that you're not ashamed to make it public on your GitHub profile and share it with other devs you know. Get some feedback, ask for code reviews, and you can always iterate on it later and improve it as your skills improve.
Also published here.