TLDW logo

Vibe Coding Fundamentals In 33 minutes

By Tina Huang

Summary

## Key takeaways - **Define Vibe Coding: Embrace AI, Forget Code Details**: Vibe coding, coined by Andre Kaparthy, involves fully embracing AI's capabilities, focusing on what you want to build rather than the intricate code itself, as AI tools are becoming increasingly sophisticated. [01:14], [01:34] - **Master Vibe Coding with 5 Core Principles**: Effective vibe coding relies on five fundamental skills: Thinking thoroughly through requirements, utilizing frameworks, implementing checkpoints with version control, methodical debugging, and providing ample context to the AI. [02:45], [15:01] - **PRDs are Crucial for Clear AI Communication**: To ensure AI understands your vision, create a Product Requirements Document (PRD) that details logical, analytical, computational, and procedural thinking, transforming natural language into actionable development steps. [04:27], [04:30] - **Utilize Frameworks for AI Efficiency**: Directing AI towards pre-existing frameworks and packages significantly improves results. If unsure which framework to use, ask the AI for recommendations and learn how these components interact. [07:09], [08:15] - **Version Control Prevents Catastrophic Data Loss**: Always use version control like Git and GitHub. A cautionary tale highlights the loss of two weeks' work due to corrupted files, emphasizing the necessity of saving and tracking code changes. [09:04], [09:13] - **Debug Methodically with AI Assistance**: Debugging is as critical as building. When issues arise, point them out to the AI, providing error messages and context, and be patient as it iterates through solutions. [12:54], [13:37]

Topics Covered

  • Defining Vibe Coding: Giving into Vibes and Forgetting the Code
  • The Four Levels of Thinking for Vibe Coding: Logical, Analytical, Computational, and Procedural
  • Using Product Requirements Documents (PRDs) in AI Development: Logical and Analytical Thinking
  • Start Small: The Minimal Viable Product Mindset for Coding
  • Two Modes of Vibe Coding: Implementing Features vs. Debugging Errors

Full Transcript

I learned how to vibe code for you. So

here's the cliffnotes version to save

you the hundreds, actually probably at

this point thousands of hours I have

spent watching YouTube tutorials, taking

courses, but honestly, mostly just like

trial and error as I'm developing my own

applications through vibe coding. Vibe

coding is seriously a gamecher and has

fundamentally changed the way that I

code and develop apps. Which is why in

this video I'm going to be focusing on

the fundamentals, the frameworks and the

principles of good vibe coding. Then

I'll also teach you how to apply these

principles of vibe coding with any tool.

As per usual, it is not enough just to

listen to me talk about stuff. So

throughout this video, there'll be

little assessments. And if you can

answer these questions, then

congratulations. You would be educated

on vibe coding fundamentals. Now

without further ado, let's get going. A

portion of this video is sponsored by

Brilliant., All right,, here's, the, outline

of today's video. First, I'm going to

define, vibe, coding., Then, we're, going to

be talking about the principles of good

vibe coding. I'll then show you some

examples of vibe coding in action using

Replet Windsurf. Then finally, I'll end

with some very practical tips to help

you along your vibe coding journey and

to make sure that you don't end up as

one of these people from X and Reddit

who really up. I do not want that

for you. So, please pay attention until

the end. Let's now define vibe coding.

I'm sure many of you have heard the term

vibe coding a lot of times by now. And

this is a term that was coined by Andre

Kaparthy who among many of his

achievements is one of the founding

members of OpenAI. On February 3rd

2025, he made a post on X that says

"There's a new kind of coding I call

vibe coding where you fully give into

the vibes. Embrace exponentials and

forget that the code even exists." It's

possible, because, the, LMS's,, for example,

Cursor Composer with Sonnet are getting

too good. You basically just tell the LM

what it is that you want to build and it

would just go ahead and build it for you

and some people literally just speak to

it like talk to it. Also, I just talked

to Composer with super whispers. I

barely even touched the keyboard. For

example, you can just prompt it with

something like create a simple React web

app called Daily Vibes. Users can select

a mood from a list of emojis.

Optionally, write a short note and

submit it. Below, show a list of past

mood entries with the date and a note.

And yeah, that's it. Give it to the LM

and it generates the code for you. And

voila, that's what you get. Seems very

very simple. Crazy, right? You can see

how it fundamentally changes the way

that you code and and build things. But

with that being said though, it's not

like black magic and vibe coding will

magically just work for everything.

There are still principles and order in

this chaos in how it is you ask it to

build these things. So without further

ado, let's actually cover these

principles. The best course that I found

that covers the principles, the

fundamentals of vibe coding is a course

called Vibe Coding 101 with Replet. It's

a nice little free course that's created

by Replet, which is a platform for vibe

coding apps in collaboration with deep

learning AI. The course explains that

there are five fundamental skills in

vibe coding, which are thinking

frameworks checkpoints debugging and

context. You need to thoroughly think

through exactly what it is that you want

to build and then communicate that with

the AI. What we mean by think thoroughly

is actually four different levels of

thinking. Say, for example, you want to

program a computer to play competitive

chess. The first two levels of thinking

are probably really obvious and it's

just like very intuitive to you. Logical

thinking is just what is the game and in

this case the game is chess. The next

level analytical thinking is asking the

question how do I play this game? What

is the main objective the goal of the

game? Now the third level is

computational thinking. You need to

figure out how to fit the logic of this

game into a complicated set of problems

and configurations on the chessboard.

You also need to think about how do you

enforce these rules. And finally at the

top level of thinking is procedural

thinking. This is when you ask the

question how do I excel in this game?

Not only do you want to play this game

you want to play it well. So, you need

to think about what are some strategies

that you can use. What are the

boundaries that you can push so that

you're able to program your computer to

be able to do well at the game. Then, of

course, you need to translate this

natural language that we described and

communicate that to the AI to build.

Now, for whatever it is that you're

trying to build, a game, a web app

whatever, you also need to go through

these four levels of thinking to truly

properly define what it is that you want

to build. Honestly, this is where most

vibe coders have the most opportunity

for improvement. Because oftent times

because you're using natural language

just to describe what you want to do

you don't really actually think through

what it is that you want to build, what

it is that you want your final product

to look like. And that's actually kind

of unfair because if you don't even

think through exactly what it is that

you want, how do you expect the AI to be

able to figure out what it is that you

want built? And actually, the best way

to make sure that you go through each of

these levels of thinking and communicate

it clearly to the AI is to create

something called a PRD, which is a

product requirements document. This is

an actual PRD that we defined with one

of our clients. It is an AI powered

personalized nutrition plan for

diabetes. Level one of thinking which is

logical thinking defining what it is

that we want to build. So this is as

part of the project overview. We wrote

that the goal of this project is to

develop an AI powered system that

creates personalized nutrition plans for

individuals with diabetes. The system

will take into account various health

related factors such as medical

analyses, weight, dietary habits

calorie consumption and more. The next

level of thinking, the analytical

thinking is encompassed by the skills

section. So this is where you list out

what it is that you need in order to

build the thing that you want to build.

In this case, we wrote Python

healthcare data processing, open AIS

API, image processing for visual plans

and UI development. You can you can also

go into more detail about this if you

want if you're very if you're more

particular about which specific packages

you want to use, which kind of front

end, which kind of backend that you want

to use, but this is good enough to

start. For computational thinking, I

like to express this by having a key

features section in the PRD. This is

where we can clearly define and have a

plan based upon what we want to show up

in the application. Here we have it

divided into milestone one and milestone

2. The first one is a generalized

personalized nutrition plan engine that

includes specific metrics like

individual health metrics and

socioeconomic factors. The level two is

where we want to give more contextual

customization specifically considering

people's literacy and education levels

and making the application adaptable um

and more accessible to different types

of people for example people with lower

literacy. Now for procedural thinking

the highest level of thinking thinking

about how do we make this application

the best that it can be this is

exemplified throughout the PRD just by

adding as much detail as possible. For

example, defining exactly which factors

like individual health metrics like

medical analyses and dietary intake data

and socioeconomic factors such as income

location and local food availability as

well as what types of contextual

customization. But the best way to think

about it is the more detail you can go

into thinking about your target

audience, who you want to be using your

application and that experience that

they should get and all the factors that

go into it to make it the best

experience possible. the clearer your

vision is and the clearer the PRD is and

the better results you will get from the

AI. Also, just by the way, you don't

need to come up with this PRD all by

yourself. Um, I'm actually going to put

like a prompt on screen right now. Feel

free to take a screenshot of this. This

prompt will work with you and ask you

the right questions for you to be able

to come up with a well-defined PRD to

build your app. I highly recommend that

you spend a significant amount of time

at this section. It is always so much

easier to have a clearer vision of what

you want as opposed to build something

figure out that it's not exactly what

you want, and then try to fix it

halfway. The next principle of vibe

coding is to know your frameworks

whatever it is that you want to build

chances are somebody has already built

something like it or something very

very similar to what it is that you're

trying to accomplish. And since AI is

trained on all the pre-existing

solutions that are already available, if

you're able to direct the AI towards the

correct framework for building what you

want to build, you're going to have much

better results than asking it to just

try its best to come up with something

from scratch. And the easiest way to do

this in vibe coding is just to list out

the frameworks or the packages that you

want the AI to use to implement the

solution that you want. You're kind of

just like pointing it in the right

direction. For example, for your web

app, you can specify that you wanted to

use a React backend and a CSS and HTML

JavaScript front end and specifically

maybe Tailwind CSS for the styling for

this specific type of application. Or

say that you want to be creating

animations, you can specifically say

please use 3.js which is a very popular

package for creating animations. Okay

so the question you might be thinking

right now is like Tina, but what if I

don't know what is the best way of

implementing this thing? No problem. You

can actually ask AI to help you figure

it out first. For example, if you want

to implement a drag and drop UI, which

is a very common thing to implement, you

could say, could you help me come up

with some React frameworks to implement

drag and drop into this application and

then implement it. What is actually the

key thing here is to be open to learning

about these different frameworks and how

all of these components fit together.

With vibe coding, it's not necessary for

you to exactly know how to implement

each of these things yourself, but it's

still really important to have an

understanding of the structure of what

it is that you're trying to build. Like

if you're making a web application, at

the very minimum, you should be aware of

what a front end is, what a backend is

how the front end and backend

communicate with each other, and what

are certain frameworks that are very

popular or commonly used for the front

end and the back end. Think about it as

building and developing and learning

with the AI at the same time. This will

make you a much better vibe coder in the

long run. The next principle of vibe

coding is to always have checkpoints and

version control. Things will break. That

is a fact. You do not want to end up

like, this, guy,, for example,, who, lost, all

of his work because he did not know

about version control. It is a

cautionary tale. He posted on X, "Today

was the worst day ever. The project I

had been working on for the last 2 weeks

got corrupted and everything was lost.

Just like that, my SAS was gone. Two

weeks of hard work completely ruined.

But I mean he is trying to stay positive

here. He started from scratch. Blah blah

blah. He's going to rebuild everything

from, cursor., So, you, know, at least, he's

remaining positive. But anyways the

point being that please always have

version control. There are some software

like, replet, for example, that, has, pretty

decent version control that's already

built in. But for the majority of

software and it's just like generally

best practice is to learn how to use git

and github which I'm actually going to

give you a crash course on right now. If

you already know how to use git and

github consider this a quick little

refresh. So first of all git is the

version control software itself. While

GitHub is a website that allows you to

store your code, your repositories on

the cloud so that you're able to have

it, you know, saved somewhere else and

also so that you can share it with other

people. So, first you need to install

git and you can do this by either

downloading it from the website or you

can go through your terminal/comand line

or honestly you can just ask your AI

code editor software whether that be

like

replic whatever and just directly say

like please download git for me. Now

assuming that you want to start a new

project from scratch and you're in that

current folder the command that you want

to use is get init which is initializing

git. Now let's say you start adding some

things you might want to add a readme

where you know you just start like vibe

coding and now you have a bunch of files

that are there. And if you use this

command get status it will show that you

have a lot of files that are unttracked.

So in order to track these files you use

the command git add. You can do get add

like readme.md or whatever files that

you want to start tracking. Or you can

just do get add with a dot. The dot

means just track everything. But you're

not done with just adding these files

and tracking these files. When you

actually want to save a certain version

of it, you use the command git commit.

This is where you would explicitly

commit the changes that you made to the

files. And you can also type a message

that explains what you changed in the

codebase or otherwise known as the

repository., For example,, your, first

commit could be git commit-m with

initial commit as the comment. And

that's it. Actually, if you just do

this, you would be tracking your

changes, saving your changes by

committing it. And you just keep on

doing that. And if you ever want to look

at the changes that you made, you can

use a command called get log. And if you

want to roll back a commit, then it's

git reset. Okay. So after you made a

bunch of changes, did all your things

and maybe you want to share your code

now on GitHub. You can go to github.com

create a new repository, and initiate

it. Copy the remote URL, then use the

command get remote at origin, and then

the URL. This will link your local repo

that's being saved on your computer to

GitHub. Then you might want to rename

your branch, which is the current

repository version that you're working

with and call it main. So you can do git

branch- m main. Then finally, you can

push everything from your local

repository onto GitHub with the command

git push- origin main. There are

obviously like a lot of other little

nuances and commands and like things

like that um specifics that you can go

into a lot more detail about, but just

knowing what I explained to you that

entire workflow, that should be enough

for you to have a good understanding of

what version control is supposed to look

like and what the flow is supposed to

look like. And even though I did cover

the exact commands that you should be

inputting using an AI code editor, you

actually don't need to know these exact

commands. Like as long as you know what

that structure is, you can just directly

ask the AI using natural language. like

you can just say um use git to commit

these changes, push it to GitHub on this

branch, roll back the previous version

merge everything together. I hope that

makes sense. Overall, I hope you can

also see that the key to vibe coding is

to understand these like highle

structures, these highle components and

the flows of things so that you're able

to direct the AI in the implementation.

Implementation is where AI excels at.

The next important skill of vibe coding

is debugging. Whatever it is that you're

building is going to go wrong. It's just

a matter of when it's going to go wrong

and how it's going to go wrong. Which is

why debugging and fixing the thing is

just as important as the actual building

itself. This is a skill that is drilled

into engineers with many many years of

training. But for many vibe coders

though, especially those who don't have

an engineering or coding background

debugging might be something that they

don't actually have a lot of experience

in. And it's very important to learn

this skill. The best type of debugging

is very methodical and thorough. First

you need to identify where the problem

is and what the problem is. then you

need to apply different solutions to try

to fix the problem. Sounds super simple

right? But do not underestimate the art

of debugging. In the case of vibe

coding, when you realize that something

doesn't work, um I actually find that

the best way is to just point it out to

the AI and then let the AI come up with

the solutions to fix it itself. For

example, I recently did this live stream

where I was building this application

and then it kept on coming up with an

error. I basically just copy pasted the

error message and went like there is an

error and the AI responded with like oh

let me try to fix it. and then it comes

up with like different solutions to try

to fix the problem. And really all you

have to do often times is just to accept

the changes and if it still doesn't work

it might just go through like a lot of

cycles of this. Just got to be patient

and just you know keep pointing it out

letting it do its thing and often times

it resolves itself but in the off chance

that it doesn't resolve itself easily.

It is really really helpful to have a

basic understanding of what you're

building., Like, for example,, I, kept, on

getting the same error over and over

again. But since I understand file

structures and how the files are working

with each other, I was able to point out

which file was probably causing the

problem and which section was probably

causing the problem and the AI was able

to go and fix it. Another example was

when I got this overlapping UI component

which I didn't like. I was like this

thing is overlapping. I sent it to the

AI and then it like made some weird

changes and the whole thing just

disappeared. And then I was very patient

and was more specific about exactly what

it is that I wanted. And looking at the

code, I could tell that it was just

statically trying to input like a

certain dimension so that depending on

the orientation of the website

sometimes it would overlap and sometimes

it wouldn't. And then I just pointed out

that I needed to be dynamic so that it's

not overlapping at any point. And then

fortunately, it was then able to fix it.

And finally, the last principle of vibe

coding is to provide context. The

general rule of thumb is that the more

context, as in the more information and

detail that you can provide to your AI

to your LM, the better the results are

going to be. And context can come in a

lot of different forms. It could be that

the original prompt or the PRD that

you're inputting has a lot of details in

it. You can even provide it with like

mockups of what exactly you want it to

look like. Or you can be providing it

with examples or extra data that can

help it build the application. Details

about your app, your environment, your

preferences, as well as errors. Instead

of just saying this thing doesn't work

you can actually copy paste the full

error message and a screenshot of what

exactly doesn't work and provide that to

the AI. Okay, so here's a little

pneummonic that can help you potentially

remember these principles of vibe coding

better. The friendly cat dances

constantly thinking frameworks

checkpoints, debugging, and context

which immediately comes in handy for you

now because here's also your little

assessment, which I'm going to put on

screen right now. Please answer these

questions and put them in the comments

to make sure that you're following along

with the things I am talking about. I'm

now going to show you some examples of

vibe coding starting with Replet. Replet

is a platform where you can use AI to

vibe code different applications and

deploy them really really quickly all on

the cloud. It is super beginner

friendly. All you have to do is log on

to Replet and they have some free

credits that you can get started with.

Let's start off with the PRD for a very

simple app that displays SEO metatags

for any website that is inputed. Okay

so to get started, the first thing I'm

going to do is actually use chatgbt to

help me really think about what I want

this application to look like and

generate a PRD for it. And I'm going to

use this prompt over here, which is a

variation of the prompt that I showed

you guys earlier. And I'll also link an

example PRD for chatt. So it just says

help me to make a PRD for an MVP app.

I'm looking to vibe code. So, an

interactive app that displays the SEO

metatags for any website in an

interactive visual way to check that

they're properly implemented. The app

should fetch the HTML for a site, then

provide feedback and SEO tags in

accordance with best practices for SEO

optimization. The app should give Google

and social media previews. And then

thinking through these questions, what

is this app? How do I use the app? What

are the patterns behind the app? And how

do I make the app the most useful for

the target audience? And including a PRD

example here. And it helps us generate

this. So, SEO tag, visual inspector

MVP, PRD, project overview, and it shows

all of the key features that are here.

So, input URL field, HTML fetching and

parsing, SEO tag extraction, and visual

feedback previews. And there's also a

nice to have section. All of this looks

pretty good. I do want to have a key

feature of actually displaying the total

score out of 100. I also do want to get

rid, of, these, nice, to, have haves, over

here cuz it's always best to start off

with the very very key features and then

add on to that. So I'm going to ask it

to refine it with for key features.

Could you include a total score out of

100? Also remove nice to haves. Great.

So visual feedback is over here.

Awesome. So this looks pretty good to

me. So, I'm going to write is could you

make this into a prompt uh to build an

app using replet? So, that's what we're

going to use. Great. Wonderful. And on

top of this, I'm going to say generate a

image mockup or inspo. I'm going to

download this. Here is a replet. And

what I'm going to do is just copy paste

the prompt from chatbt and also link the

inspo and click start building. All

right, it's going to be called SEO Tag

Scout and it's asking me if I want these

like additional things that are here and

I'm just going to say no because we can

add these additional features later. So

we can approve and get started. As it's

generating, you can see that it's

literally designing the visuals and it's

also populating the files over here as

well. So, for Replet, it already does

have pretty good um version control. You

can roll back pretty easily here.

Although for best practices, you still

really do want to be using Git at some

point. While it's finishing up building

everything over here, what I really

recommend that you do is you can go over

here and actually add an assistant and

use the assistant and ask, could you

explain to me the file structure in this

project? You don't have to do this, but

it's one of those things where if you're

learning about the frameworks that are

being used while you're vibe coding

this is going to significantly improve

your skills as a vibe coder because

you're going to be able to understand

what's actually happening and how the

files are going to be interacting with

each other. We can see over here on the

client side under client, you have the

main React application code in the

source. So, client source and you can

see where the UI components are as well.

And on the server side, it tells you

where the main service entry points are

like index.ts. And here's the code for

that. And then roots and things like

that as well. Just understanding the

files over here and how they're

interacting with each other to produce

this completed app is already going to

give you a huge leg up. And if you

really want to dig into like some of the

actual code, you can always rightclick

over here and then you can say like

explain with assistant for example. This

is very very optional, but it is a

really really great way for you to learn

um what the code is actually doing if

you're, interested., All right,, it, looks

like our app is now finished. Let's

actually test this out. So, let's try

ww.lonely

octopus.com. Check. Uhoh, that didn't

work. So, what I'm going to do

is there is an error like a true vibe

coder. We're going to hope that it fixes

itself. Okay, let's try testing it out

again. Lonely

octopus.com. And cool, it seems to be

showing something. the title, shorter

than recommended, meta description, blah

blah blah, all of these things. And we

can see that here's the Google preview

here's the social media preview, Twitter

card previews, and raw data tags. Okay

so I just want to make sure that the

like number actually changes depending

on the website. So let's try something

else like the website called the useless

website.com. Okay, so it's also still

showing 86. What about this other

website?, Okay., All right., So, the, number

is changing depending on what it is.

It's like this is not visually

appealing. Make it colorful. Yeah, make

it colorful. I also don't like how the

raw data tags are here, but it's not

specifically specifying like what the

title is sort of the recommend like what

is the actual title. Like I want that to

be, showcased, and, I'm, going to, do, that, in

the next round of edits here. Another

key thing to remember is that it's best

to when you're pointing something out

like something that you want to be

changed, doing it one at a time as

opposed to like a laundry list of things

that you want to change cuz that could

potentially confuse the AI. Oh, cool. I

guess it did that already without me

saying anything. Oh, and it's like

showing little icons. So, that's nice.

Okay, let's try this again. lonely

octopus.com. Okay, I like that. This is

much much better. Another thing that you

can do over here is that you can

actually click here and then there is a

dev URL that you can directly look at

from other devices as well. So all you

have to do is scan the QR code. So you

can actually see what it's like on other

devices too. So if I were to type lonely

octopus.com, you can see what that

experience looks like on mobile as well.

So this is a example of what it would

look like to be web coding using Replet.

And once you're done, you can take this

and deploy it when you want to. But if

you do want to create something that is

more complex and that's also more

scalable, you will at some point want to

migrate to a AI code editor, something

like Windsor for cursor. So I'm actually

just going to show you what that is like

um using Windinserve for example. First

of all, regardless of which of these

tools that you're using, the principles

that we just talked about for vibe

coding, like the skill set itself is

pretty much the same. So don't worry

about that. It's more the fact that

after you get through the beginner

stages, most people will want to switch

over to AI coding editor like cursor and

windsurf because it's more robust, has

more functionalities, and also allows

for greater scalability. Of course, with

these types of things, there's always a

trade-off. Like with Replet, it is a lot

faster, really easy to use. Everything

is based on the cloud. So, you don't

really have to deal with setting up your

environment and the deployment process.

While for cursor and windsurf, there are

a lot more functionalities that are

available. These code editors are built

for like full scale development. So

you're pretty much able to do any type

of development and be able to tweak

things and fine-tune things to the exact

way that you want it to look. Of course

the downside is that there is a higher

learning curve. You need to learn how to

set up your environments properly, how

to debug issues with your environment. A

lot of, issues, come, because, of, not

setting up your environment correctly.

You also need to learn how to deploy

things, how to monitor things over time.

So this is the wind surf environment and

over here is cascade where you can type

in what you want the app to build. In

this case we're using cloud 3.7 sonnet

as the model. So I'm actually going to

put in the exact same prompt and then

also the image as well on winds. This is

going to be a local development

environment. So it's going to start off

by setting up a bunch of things locally.

You can see that the files are

populating themselves over here as well.

All right., So, this, is, running, a, terminal

command and we can accept this. It's you

can disable and the asking and you can

just let it auto run but I have trust

issues cuz it's on my local environment

instead of like rep play where it's in

its like own isolated thing on the web.

So I do like want to make sure that I am

accepting things and not doing random

things to my local environment. So I'm

just, going to, click, accept, to, all, of

these. You can see that it also takes a

little bit longer cuz it's setting up

all these environments and selling all

these packages and stuff. Um, all things

that don't need to be done if you're

using Replet. Okay, cool. It looks like

it has something done. It says, "Feel

free to try it on the browser preview

I've opened for you." Open the browser

preview. I don't see the browser

preview. Could you open it for me? Okay.

Open preview.

Cool. We see that it has some of these

very similar elements here. www.lonely

Lonely

octopus.com for example check. Oops.

Need to adding an

https. Okay, this actually looks way

better than replet's first version. I

got to say it actually looks really

really similar to the inspo that we

provided. It like here's the inspo that

we provided and here's the actual thing.

It looks really similar, right? Looks

pretty good. So SEO tag analysis. Yeah

this looks pretty good to me. Let's try

something else.

maze.toys/mazes/min/aily. It's just like

a random website. Okay. SEO tag is 25.

So the numbers are actually different um

between Replet and Windfs. So that's

interesting. Something I probably want

to dig into asking like how it's

calculating these SEO tags. But overall

it looks like it's working pretty well.

And I quite like this. So I'm going to

ask it to change though. To improve on

this a little bit, I'm going to say edit

a screenshot here and be like make it so

that you don't need to type

https before the URL. Also, copy paste

is not enabled. Let's open a preview

again. So, try this again.

www.lonely

octopus.com. We also do need to center

this later. And it still doesn't work.

So, I'm just going to write still

doesn't work. Let's try again. lonely

octopus.com. Okay, cool. So, that works

now. Um, obviously there's like other

things that we want to fiddle around

with a little bit like things that are

not centered. Might want to change these

colors a little bit, but I hope this

gives you a good idea for how it is that

you can start building using windsurf as

the experience. And so, in this case

you also definitely do want to start

using git and github as well. So what

you can do is be like initiate git for

version control and just type that in.

Accepting everything here and then git

is going to be initialized. Everything

here turned green which means that it's

unttracked. It asked do you want to get

add everything? We can accept get add

everything and it's asking us if we want

to commit as well as our initial commit.

So we can accept we can get commit to.

So great now everything is being tracked

as version control. And when you're

ready, you can also get push and you can

actually see everything now on GitHub.

But regardless of what you use, remember

the principles that we went through for

vibe coding. Do keep those in mind and

apply them regardless of what kind of

tools that you're using. I'm going to

put on screen now a little quiz. So

please type the answers in the comment

section. And now let's go on to our

final section where I'm going to give

you some more tips and tricks and

frameworks and mindsets that will help

you along your Vibe coding journey. The

first one is very much a mindset. If

you're already an engineer, you know

you probably already think this way. But

if you're someone who maybe doesn't come

from more of a technical background

always think about starting small and

working your way up. In other words

whatever it is that you're creating

always think about it as the minimal

viable product, which is what are the

minimum amount of features that you can

put into your application for it to

function. After you get the thing to

actually work, then you can iterate and

put on like additional features and

functionalities on top of that. This is

the correct vibe coding mindset as

opposed to you coming up with like the

most lavish, you know, thing with all

the details that you can possibly think

of and like a million different

features. No, no, no, no. I can already

think of all the errors and issues that

you're going to get from that and then

just you like ripping out your hair

because you can't figure out what's

going wrong. Always start with the

minimal viable product and then iterate

on top of it. Get the thing to work

first. Next up is a framework that's

also from the vibe coding 101 course

which I think is really, really helpful.

It shows that when you're developing or

building an app, when you're vibe

coding, there's really only two modes

that you're in. You're either

implementing a new feature or you're

debugging errors. When you're

implementing a new feature, what you

want to remember is to provide context

relevant to the new features. Mention

frameworks, provide documentations with

explicit details, etc., and then making

incremental changes and doing the

checkpoints and and version control

etc. And when you're in debugging errors

mode, what you want to keep in mind is

firstly figuring out how things work. Do

you have a good understanding of the

structure of your project itself? if you

don't, you know, ask AI and and actually

figure, that, out, because, it's, going to, be

very helpful to figure out what is

actually going wrong in your

application. And when you figure out

what's wrong, think about how to get

that information to the LM to get

unstuck. And this is where the final

principle, context, is helpful. Just try

to provide as much context and

information as possible to guide your

LLM to fix to fix the problem. Give it

like screenshots of what's wrong. Give

it the error message, point it towards

the right file to be looking into. I

really love this framework. So take a

screenshot or something and whenever

you're getting frustrated or not know

what you're supposed to do, just try to

remember which mode that you're in and

what you should be doing in which mode.

Final tip that is a little bit more

advanced and these are writing rules or

documentation. This is kind of like a

system prompt that you're giving to your

coding agent. And this is where you can

list out like certain things that you

wanted to do or to not do. For example

some of the best practices that you

probably want to put in your rules

include limit code changes to the

minimum when implementing a new feature

or fixing something. This is because AI

sometimes has this tendency of like

changing a lot of different files um

unnecessarily to fix like a very small

thing and then it could potentially

break other issues. Rate limit all API

endpoints. This is just to make sure

that you're not like calling an API and

incurring like multiple times and

incurring a lot of cost. Enable capture

on all authors and signup pages. So for

security reasons and yeah there are a

lot of other rules that you can put into

this file. You can also find online like

people have written these rules that are

specific to like certain types of apps

or certain languages that you're using

as well that you can put into your rule

file as well. And you can take this rule

file and give it to replet where cursor

ruins surf too. Especially if you're

someone who doesn't come from an

engineering background or like a

development background, I really

recommend that you actually look into

the rules that are specific for ensuring

like safety and security in your apps.

Like putting it in your at least like

learn things about like API keys and why

it is that you shouldn't be exposing

your API keys. And while you're learning

these, also put your rules into your

rules file so you're reminding your AI

to be abiding by best security practices

as well so you don't get hacked. All

right, there is honestly like a lot more

that I can go into detail about. Like

for example,, like, having, styling

documents that you can reference, how

you should be refactoring your code

using something like MCP servers. if

you're building something like AI agents

and you want to give your AI agents like

more tools and functionalities. There's

just like a lot which I don't have time

to cover in this video right now. But

please do let me know in the comments if

you want me to make a follow-up video

where I will go more in detail about

exactly how it is that you should be vi

coding and giving you more specific

advanced examples for AI code editors

like windsurf or cursor as well. But for

now we have come to the end of this

video. I really hope this vibe coding

fundamentals video is helpful for you to

get started um doing it correctly like

vibe coding with best practices in mind.

And as promised, here is the final

little assessment which do answer these

questions and put in the comments to

make sure that you retain the

information that I just covered. If

you're watching this video and

interested in vibe coding, chances are

you're probably also interested in

learning STEM subjects. So, if you are

interested in learning STEM subjects, I

highly recommend that you check out

Brilliant, the sponsor of this portion

of the video. Brilliant is a STEM

learning platform that helps you get

smarter every day with thousands of

interactive lessons in math, science

programming, data analysis, and AI. What

I love about Brilliant is that it helps

you build critical thinking skills and

deep understanding of subjects instead

of just memorizing things. Brilliant

incorporates little quizzes, analogies

and just little dopamine hits that

really help a lot when you're getting

bored or discouraged. It's shown to be

six times more effective than just

watching video content. They also have a

great mobile app so you can actually dig

into a quick little session and learn

something new when you have a couple

minutes instead of just mindless

scrolling. Brilliance programming

courses are some of my favorite courses.

They help you build a foundation of

coding and teaches you how to think like

an engineer, a skill that is still

crucial in the age of AI and the age of

vibe coding. Speaking of which, they

also have great AI courses, too, that

can help you gain a deep understanding

of how AI models work and their

applications. Brilliant courses are

super high quality and taught by

award-winning teams of teachers

researchers, and professionals from

Stanford MIT Caltech Microsoft

Google, and more. To try everything that

Brilliant has to offer for free, you can

visit

brilliant.org/tina or just scan the QR

code on screen. Or you can also just

click the link in the description. If

you use my link, you also get a 20% off

the annual subscription. Thank you so

much, Brilliant, for sponsoring this

portion of the video. Now, back to the

video. Thank you so much for watching

this video and happy vibe coding. I'll

see you guys in the next video. We're

live stream.

Loading...

Loading video analysis...