Like many developers, I used to think learning a new framework meant finding the "best" course.
So I'd bookmark a few YouTube playlists, buy a course on sale, watch hours of content, and feel productive.Until I opened a blank editor. That's when I realized I'd learned about the framework—but I hadn't learned how to use it.
This time, I decided to do something different.
I already had a real product
Over the past year, I've been building a multi-tenant SaaS platform that allows businesses to create their own online appointment booking systems.
Instead of spending weeks building another demo project just to learn Next.js, I looked for a part of my existing business that could benefit from it.
The answer was obvious: the marketing website.
The SaaS itself is already built. Customers don't care what framework powers the landing page, but I do. It was the perfect opportunity to learn something new while shipping something useful.
No fake startup. No todo app. No dashboard copied from a tutorial.
A real website that people will actually visit.
Why the marketing website?
I didn't want my first experience with Next.js to involve migrating production business logic.
That would've added unnecessary pressure and complexity.
A marketing site, on the other hand, naturally introduces many of the concepts Next.js is known for:
- File-based routing
- App Router
- Layouts
- Metadata and SEO
- Image optimization
- Fonts
- Static assets
- Performance considerations
- Deployment
It's complex enough to be educational but simple enough that mistakes are inexpensive.
I wasn't just learning a framework.
I was solving a real business problem.
The official documentation became my course
For years, I treated documentation like a dictionary.
You only opened it when something broke.
This time, I started treating the Next.js documentation like a textbook.
Each day, I follow a simple routine:
- Read one section of the docs.
- Apply it immediately to the marketing website.
- Commit the changes.
- Stop.
That's it.
No rushing through ten chapters in one evening.
No copying code without understanding it.
Just steady progress.
Surprisingly, this has helped me retain far more than binge-watching tutorials ever did.
Learning through necessity changes everything
One thing I've noticed is that real projects force you to ask better questions.
Instead of asking:
"How do layouts work?"
I ask:
"How should I structure this landing page so it stays maintainable as the product grows?"
Instead of learning metadata because it's in Chapter 5...
I'm learning it because I actually want my website to rank in search engines.
Instead of optimizing images because a tutorial tells me to...
I'm doing it because faster loading pages can improve user experience.
The framework stops feeling like a school subject.
It becomes a tool.
My biggest mistake in the past
I used to believe I had to understand everything before I started building.
I wanted to finish the entire course first.
Read every chapter.
Understand every API.
Only then would I build something.
That day never came.
Now I build first.
Whenever I hit something I don't know, I learn just enough to solve that specific problem.
Ironically, I end up learning much faster.
A project you care about changes your motivation
Here's something I didn't expect.
I'm far more consistent now.
Not because I've suddenly become more disciplined.
Because I actually care about the outcome.
Every improvement I make isn't disappearing into another GitHub repository I'll never open again.
It's improving a product I already own.
Every component, every optimization, every deployment moves my business forward.
That creates a level of motivation tutorials simply can't replicate.
If you're learning a new stack, try this instead
You don't need another demo project.
You probably don't need another course either.
Instead, ask yourself:
Is there something real I already own that I can improve?
Maybe it's:
- Your portfolio website.
- A blog you've been meaning to redesign.
- An internal tool.
- A side project.
- A landing page.
- An open-source contribution.
Pick something that already has a purpose.
Then let that project guide what you learn.
Where I am today
I'm still early in my Next.js journey.
There are plenty of topics I haven't explored yet.
caching strategies, rendering patterns, authentication—there's a lot left to learn.
But one lesson is already clear:
The fastest way I've found to learn a new framework isn't consuming more content.
It's attaching that framework to a real goal.
For me, that goal is rebuilding the marketing website for my appointment booking SaaS.
By the time I finish learning Next.js, I won't just have completed another tutorial.
I'll have a production-ready website that helps people discover a product I believe in.
And I think that's a much better outcome.
I'd love to hear how you approach learning new technologies.
Do you prefer courses, documentation, or learning by building? If you've found a strategy that works well for you, I'd love to read about it in the comments.

Top comments (0)