I think it’s best to start building projects as soon as your learning progress starts. Projects don’t have to be big and complex. You can make projects based on things you will learn or already know and then try adding some features to your project that would require concepts you don’t know.
When I was still starting on HTML, I tried making a personal project, a survey form based on a questionnaire we made in college. I haven’t reached the CSS lessons at that time, but I tried adding some simple styles to my project by researching about it and having a coding buddy that also helped me along the process.
Projects are a great way to apply what you learn! So no one will forbid you from doing projects you’d like to make.
Let’s say you are learning any lang and you are done with operators, loops and function then to test all your learning you can easily build a calculator to scale things up you can learn about any basic UI lib and turn it into a UI based software too. So this shows that you can start building small projects with the amount of knowledge you have. A project will always teach you a lot of stuff as it requires you to use multiple skills.
Ensure that you understand the fundamental ideas well. If you’re following a Full-stack path, you should be familiar with basic programming constructs, data structures, algorithms, and the fundamentals of web development.
Learn as much as you can about the technologies and tools you intend to use for your project. Frameworks, libraries, and other development tools may be examples of this.