Transcript from the "Introduction" Lesson
>> Welcome to building a full-stack AI-powered app with Next.js. I'm your instructor, Scott Moss. A little bit about me, I've been an engineer for over a decade now, working on all different types of technologies and projects. My last stint as an engineer was at a company called Netflix, you might have heard about it, where I worked on all different types of things there, pretty interesting stuff.
[00:00:24] And I say that because I no longer am a professional engineer. I don't write code for a living anymore. I'm actually an investor now, where I actually invest in some of the exciting technology companies that are coming out today. So I spend a lot of my time doing that.
[00:00:39] But it has enabled me to write code for fun now, which is actually just been more enlightning. And I feel like it's gotten me past this plateau which I thought I was at, because I only get to work on exciting stuff. So I don't have to worry about scaling issues.
[00:00:53] I just get to work on cool stuff that comes out every day, so to me that's fun. And yeah, in this course, I wanted to just give a little insight into the window of how I build full-stack applications using some of my favorite technologies. I have a lot of opinions on how to do things.
[00:01:11] If you've ever taken any of my courses, you know that I can be very random, but also at the same time have some type of path that I'm moving towards, too. So yeah, I thought it'd be really cool for us just to build something together and collaborate that way, and just have that moment where we learn from each other and build something cool.
[00:01:29] So this course, if you've taken any of the intro courses, those courses are, obviously, just a little slower intentionally to just get you the foundational skills that you need to know, and there's notes and stuff associated with it. This course you're just gonna be following along with me as we build something and we'll just be referencing Docs as we go because those are the best notes when you're building something, so.
[00:01:51] But I'll take my time, I won't move too fast. If there's commands that you all need, I'll take my time, you can look at those commands. And then also for your reference, I already pushed up the finished app code to my GitHub in which you can check out.
[00:02:05] Here's my URL, so my URL, my GitHub handle is Hendrixer, named after my son, his name is Hendricks. And yeah, it's just fullstack-ai-nextjs, you can check it out. The complete app is there. So as you're following along, please reference this for any of the code that we'll be writing.
[00:02:21] I will probably be referencing it as I move along, just so I can stay consistent with what's here. So I'm not teaching you something completely different than what I already pushed up, because as you know, I don't remember a lot of stuff, I just do it again. So sometimes it's slightly different, but I will be referencing this as well, so you should also do that if you feel lost.
[00:02:41] But it's gonna be fun. We're just gonna move. You can think of this as like a pair programming exercise. We're all just gonna pair program together and it's gonna be cool, I'm really pumped about it. Any questions so far? Okay, well let me give you the demo of the app that we're gonna be making so you kind of know what we're aiming for, and then we'll just jump right in and try to make it.
[00:02:59] So the app we're going to be making is a journal app called mood. And mood is basically, it's an app where you can write your journal entries. And then using AI, what it'll do is it will basically try to determine what the mood of your journal entry is, and try to give you a sentiment analysis on what you were feeling, what you were saying, how you felt that day.
[00:03:29] Was it negative? Was it positive? It'll try to do all of that. And we're gonna leverage AI to make that happen. And that way, you kinda have all these journal entries where you can kinda go back and say, how did I feel last week? Or what was my day like yesterday?
[00:03:42] Or what was my month like? Was I in a bad mood this month? And it's quite powerful. So if you asking yourself, I don't know how to do anything AI related, that's fine. You don't need to know anything about AI. Everything you need to know we're gonna cover in this course.
[00:03:56] But if you know how to use an API, then you already know everything you need to know [LAUGH] cuz that's all we're gonna be doing is using an API. But we will dive deep into that a little more, there's a lot there to unpack, but yeah, you're gonna be building that.
[00:04:10] So basically here it is, here's your landing page. It's got award-winning copy on it. And then you click Get Started, and you can sign in. So I can sign in with Google here. Once you sign in, you are introduced to this dashboard here where you have some journal entries.
[00:04:25] It looks like I already have an entry that I made, so If I click on this entry, you can see a few things here. So you get this text editor here where you can write some entries. So this one, actually, I had ChatGPT generate this entry, so I made it intentional.
[00:04:40] [LAUGH] I asked, I was like, can you write an entry of someone who had a really down bad day? And that's what it wrote [LAUGH], so if you're reading this like, wow, Scott, are you okay? No, I didn't write this. ChatGPT did, okay? But as you can see, the analysis that we got back from this post was that it determined the subject, so the subject was a series of unfortunate events [LAUGH].
[00:05:05] That's the actual subject.
>> Lemony Snicket?
>> Yeah, Lemony Snicket is the series of unfortunate events. You know what, now that I'm seeing all the letters capitalized, I think it thinks it is that. That's kind of crazy, cuz why else would it capitalize the letters like that, like it's a title or something?
[00:05:19] That actually makes sense. And then the mood is defeated. So it's, [LAUGH] the person who wrote this is in a defeated mood. And then, is it negative? Yes, it is negative, it's true. And then also, it generates this color based off the mood. So if your mood is brighter, this color will change.
[00:05:35] So I'll just give you an example. I'm just gonna go ahead and get rid of this and be like, today was the best day ever, right? And then what it'll do is it'll auto-save. Actually, I think it's gonna break, because I didn't start at the database actually, let me do that.
[00:05:48] So it'll auto-save, no, I did, never mind. There we go. So it autosaves, and you can see the color change to green based off you're in a happier mood. And now the subject is the best day ever, and the mood is happy, and it is no longer negative, right?
[00:06:02] So we're gonna build all that, so then you can go back and track all your journal entries and kind of just see how your mood was, as long as you like to journal. And then the other thing that you'll be making is this history right here, this history plot.
[00:06:14] So this is basically, we're gonna be using AI to determine your sentiment of all the journal entries that you have, and we're gonna score them based off on a scale from -10 to 10. -10 being you're just so down bad, 10 being you are so happy you're probably flying and then 0 being neutral.
[00:06:34] So we're gonna plot those journals so you can see how your mood changes over time. So you can see this is the first entry you wrote, it was terrible. The next entry you wrote was very positive. And then you kind of neutraled out on the next one, a little more content on the next one.
[00:06:50] And then the last one we just wrote was terrible, this is when our cat left us. So we'll be doing that, and then you get an average sentiment up here. So on average, all the journal entries that I've written is a 0.1, so it's slightly above neutral. So I'm just a very neutral person right here.
[00:07:08] So 10 being excited, anything negative is pretty bad. That's the second AI thing we'll be making, we'll also be making another one here in the journal. So we want to be able to ask questions about our journal entries just to get some feedback. So you can ask a question and you will be able to, yeah, get some feedback on any of this stuff.
[00:07:29] So I can ask like, how has my mood been in the last week or so? And I can ask this question here. It'll load, and what it's doing in the background, it's trying to grab all the necessary context and match it with the question that I have and then come up with an appropriate answer.
[00:07:53] So it always says something silly, so I'm curious to see what it says this time. Okay, so based on that context, today was terrible due to finding out about your cat's infidelity.
>> It can be [LAUGH] inferred that your mood has likely been negatively impacted in the last week or so with a particularly bad day today.
[00:08:13] However, the previous inference about a positive and upbeat mood before yesterday still stands. So you can ask pretty much whatever question you want about any of your entries. So we'll be making all of that today and then we'll get to testing and then deployment.