>> Scott Moss: How's it going everybody?
Welcome to Next.js Fundamentals with me, your instructor,
Scott Moss here with Frontend Masters and the crew.
Happy to be back.
Super excited to be here.
And, I mean, what a time to be a JavaScript developer right now,
with everything going on, especially with Next.js, with AI and all these things.
So, super excited about a lot of the changes.
Can't wait to talk about the stuff that the team has been working on at Vercel
with the framework, because I think they've made some quality changes since
the last time I taught this course.
Specifically around caching and stuff,
which I think is just way more streamlined.
So, cannot wait to talk about that and give my opinions.
You can take it or leave it, but a lot of this is just based off my opinions.
A little more about me, if you don't know me, obviously, my name is Scott,
I just said that.
Currently, right now, I am co-founder of a company called Double Zero.
I don't know how to describe it.
[LAUGH] It's funny cuz I talk about this all the time, and
now I just don't know how to talk about it.
It's basically an AI agent that, let me just go look at the website.
How about that?
So, doublezero.tech, you basically just describe what you want done,
and the agent will do it.
That's literally what we do.
So doing that right now, it's pretty cool.
So I spent a lot of time in the AI space.
Everything I do is built with Next.js, everything I do is built on Vercel, so,
still pretty much involved with a lot of that.
So I have pretty strong opinions about some of the stuff.
Like I told Mark,
I don't really like to teach things that I don't use in production.
If I don't have opinions on them, then I don't feel qualified to talk about it.
So, I'm here because I feel pretty qualified to talk about Next.js.
So hopefully you can take what I've learned and
then the mistakes that I've made and develop your own opinions from that.
Before that, I was a VC, working at a VC firm in San Francisco,
investing in AI companies and things like that.
And then before that, I was an engineer at Netflix, where I worked on,
literally a bunch of random ideas.
That was my job, is just to pick random ideas to work on and work on them.
Sometimes they got into production, sometimes they didn't.
Most time they didn't.
All the time they didn't.
But [LAUGH] it was really fun to work on random ideas.
Cool, and yeah, now I'm just in the trenches building a startup,
which is my second or third time doing it, and
it's more painful now than it's ever been, but also pretty fun.
So, having a good time.
Enough about me, what are we gonna be doing today?
So today, if you've ever taken any of my courses, you know I like to do two things.
I like to discuss high level concepts about what I think is important for
the topic.
So in case of Next.js fundamentals,
we'll be covering all the things that I think are essential to learning Next.js.
If you ever looked at the Next.js docs, they actually do a really good job of,
if you go look at their Getting Started section, or how to build an app.
I think that actually does a really good job of just covering the basics.
But I think the thing that it's missing is that, how do you apply that to something?
So that's what I'm doing.
So we're gonna be looking at a lot of those concepts through my lens and
then applying it to something by building an app.
Which for me, I think once you get there's a difference
between remembering something and learning something.
And for me, learning something is just like, you gotta find that zone where
you're building something that's slightly uncomfortable,
not too uncomfortable you'll never achieve it.
But slightly enough uncomfortable to where you don't really know where you're doing,
but you can figure it out.
So that's kind of where we wanna be today.
So, I'm gonna build something that is gonna make you a little bit uncomfortable,
but it's gonna force you to grow and use your resources, ask questions,
look at the notes, things like that.
So it shouldn't feel easy, but it's not gonna be an impossible task to do.
I mean, I literally have the code in the notes, so you can see the code too, and
I'll be live coding.
And you might see me struggle, but, yeah, that's what we'll be doing.
We're gonna be building this app right here.
It's a clone of an app that I use called linear.
So if you've never used linear before, it's just another issue tracking app.
This one is called mode.
It's just a play on that, we're gonna be covering everything
from off to static pages, to creating actual application,
API routes, server actions, all the things.
So, everything that I think you need to get started with Next.js is gonna be
covered in this course, but we're definitely gonna cover, I would say,
a good first 65 to 75% of what I think you need to know.
Everything else depends on your use case and what you're actually making,
it doesn't actually apply to everybody.
So, that's gonna be my attempt today.
And the format is going to be basically, I have notes,
which are definitely for you but also for me, because I get off track a lot.
So actually, let me go to here.
So if you go to the repo, which is underneath my GitHub handle Hendrixer,
Next.js Fundamentals.
>> Scott Moss: This is the repo that we will be using.
Typically, the way that I do it is, you go to the repo and
I have different branches for different lessons, and
those branches kinda correlate to the lesson that we're on.
So there's gonna be a branch where you can check out too to start that lesson,
if you didn't follow along on the previous one or you didn't want to.
And then once I do some live coding and solve it, I'll push up those
changes to the solution branch and you can check that out too if you wanna catch up.
So that's how we do it.
And then as far as the notes, in the past I put them in Notion and stuff,
but I'm probably not gonna use Notion anymore, cuz I don't like it anymore.
So I decided to just put them in Markdown files in the project.
So they're just markdown files in the project.
So this is where we'll be our notes,
it seems like the most natural place to put them.
And yeah, we'll be following these notes, one for you, all the code that I'll
be writing will be in here, but also just a way for me to stay on track.