While "real" hell may or may not exist (no need to get into religious beliefs here), tutorial hell is real. very 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 When is it time to build your own project? At , students write their first non-tutorial project after completing the following modules: Boot.dev Learn Python (course) Learn OOP (course) Build a Python CLI (project) Learn Algorithms (course) Learn Data Structures (course) Build a Maze Solver (project) (when they build their first fully custom project) Personal Project 1 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 saying you should have a solid understanding of coding fundamentals before building your . You should learn those fundamentals by , but it's best if the projects and challenges you're working on are so that you can focus more on learning the and less on figuring out what to build. am own idea writing code guided concepts What's the goal of your first project? Your goal here is to build something that makes money, or even to build something that will make its way onto your resume. not The goal of this 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. first What are some good requirements for your first project? Try to spend 20-40 hours on this project. Use a programming language you're already familiar with. Commit your code to Git often, and push it up to Github. Create a for your project. It should explain to readers: README.md file What the project is, and what it does How to clone and run it It's okay for (I'd even encourage) you to use third-party libraries! That said, make sure that some of the code that write is doing something interesting. You don't want a razor-thin wrapper around a third-party library to be the only thing you've written. you But what should I build? The whole point of a personal project is that it's . The idea needs to be . Even if the project you build is for now, at least it's . personal yours simple 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 and . Interesting and useful projects have many benefits: interesting useful They're more fun to work on They have more interesting and difficult problems to solve You (or someone else) might actually use them They're more likely to grab the attention of other people Attention from other people can lead to career opportunities 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 don't choose a project from this list without at least putting your own spin on it please A text-based adventure game in the terminal A CLI tool to detect the strength of a password, or to validate it Tic-Tac-Toe in a tkinter GUI A tool that creates ASCII art from an image A command line tool to view Reddit feeds in the terminal A command line tool that parses a CSV file of pokemon data and lets you search for pokemon by name, type, etc. But, but, but... I don't know how to build "X"! Your job as a developer is to 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! constantly 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'll need help If you don't get stuck, you probably chose an idea that's way too easy. You're going to get stuck. The trick is developing a skillset for getting . This is a skill that will serve you well (and is absolutely necessary) in your career as a developer. unstuck Get used to Googling 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. Use ChatGPT Talking through your issues with ChatGPT ( debugging) can be a great way to get unstuck. rubber duck 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. Use it to get back on track, but verify the information it feeds you with other sources. Keep in mind that ChatGPT can be confidently wrong, so don't take its word as law. Use Discord Ask questions in the , 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. Boot.dev Discord server Publish and share Get your project out into the world! Again, the purpose of your 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 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. first-ever GitHub profile Also published . here