How do I retain all this information?

I’m making my way through FCC’s Beta curriculum and I’m about to start learning Flexbox. The trouble is that I know that I’ve pretty much already forgotten most of this. I’m not currently taking notes, I used to, but I’m very picky with what program I use and nothing has really satisfied what I want. I’ve contemplated starting a blog.

I know the usual answer is “Build something” but my problem is that I can’t just “build something”. Everything that I work on has to have a reason, a purpose, for it’s existence beyond practicing. Every-time I start something that I had intended to be a small practice project it rapidly grows in complexity until I no longer have the necessary skills to build it. One example is that I want to build my own note-taking application so that I can organize and view my notes in the exact way that I want to - But I have no back-end knowledge. I have several projects that I want to build, the simplest of which will be a portfolio that uses either Materialize or Bootstrap 4 - but I want to get through Flex-box and Grid first.

I’ve looked at challenge websites like Hacker-rank, but they don’t include CSS. Is there a website that throws one CSS challenge after another at you that also changes dynamically based on what you get right/wrong so that you can practice and reinforce specific css knowledge?

You need to crawl first before you can jump.

Purpose?

How about repetition, knowing edge cases, and figuring out solutions to fix it/make it behave or look the way you want it. Do this lots of times and pretty soon you can look at a graphics layout/screenshot of a webpage and your brain already has a pretty good idea of how to organize and css markup the different divs required.

Then just design and markup the different pages/views required by your dream app. Make the front end work first, mock your fake data and be able to display them the way you want on your FrontEnd.

Later on, you can replace the mock fake data with actual data coming from a backend database call.