How I AI - The beginner's guide to coding with Cursor | Lee Robinson (Head of AI education)
Episode Date: September 22, 2025Lee Robinson is the head of AI education at Cursor, where he teaches people how to build software with AI. Previously, he helped build Vercel and Next.js as an early employee. In this episode, he demo...nstrates how Cursor's AI-powered code editor bridges the gap between beginners and experienced developers through automated error fixing, parallel task execution, and writing assistance. Lee walks through practical examples of using Cursor's agent to improve code quality, manage technical debt, and even enhance your writing by eliminating common AI patterns and clichés.What you'll learn:1. How to use Cursor's AI agent to automatically detect and fix linting errors without needing to understand complex terminal commands2. A workflow for running parallel coding tasks by focusing on your main work while the agent handles secondary features in the background3. Why setting up typed languages, linters, formatters, and tests creates guardrails that help AI tools generate better code4. How to create custom commands for code reviews that automatically check for security issues, test coverage, and other quality concerns5. A technique for improving your writing by creating a custom prompt with banned words and phrases that eliminates AI-generated patterns6. Strategies for managing context in AI conversations to maintain high-quality responses and avoid degradation7. Why looking at code—even when you don't fully understand it—is one of the best ways to learn programming—Brought to you by:Google Gemini—Your everyday AI assistantPersona—Trusted identity verification for any use case—Where to find Lee Robinson:Twitter/X: https://twitter.com/leeerobWebsite: https://leerob.com—Where to find Claire Vo:ChatPRD: https://www.chatprd.ai/Website: https://clairevo.com/LinkedIn: https://www.linkedin.com/in/clairevo/X: https://x.com/clairevo—In this episode, we cover:(00:00) Introduction to Lee(02:04) Understanding Cursor's three-panel interface(06:27) The importance of typed languages, linters, and tests(11:28) Demo: Using the agent to automatically fix lint errors(15:17) Running parallel coding tasks with the agent(18:50) Setting up custom rules(23:24) Understanding the different AI models(24:48) Micro-slicing agent chats for better success(27:22) Tips for effective agent usage(29:00) Using AI to improve your writing(35:47) Lightning round and final thoughts—Tools referenced:• Cursor: https://cursor.com/• ChatGPT: https://chat.openai.com/• JavaScript: https://developer.mozilla.org/en-US/docs/Web/JavaScript• Python: https://www.python.org/• TypeScript: https://www.typescriptlang.org/• Git: https://git-scm.com/—Other references:• Linting: https://en.wikipedia.org/wiki/Lint_(software)—Production and marketing by https://penname.co/. For inquiries about sponsoring the podcast, email jordan@penname.co.
Transcript
Discussion (0)
What are some common tasks that you think cursor can help people do that help you build better code,
help you write better software?
In this instance, in this repo, I've already set up a linter.
And there's something in my application that's not working correctly.
So I can say, fix the lint errors.
The nice thing about AI agents is they can go read things for you.
So when I say fix the Lent errors, it knows that it can go run a terminal command.
And it knows that, hey, there's this thing called Bun Run Lint.
So it went and it ran the command bun run lit.
It said there were two issues that it found.
So it applies some code changes on this line.
And then it reruns the same command and it verifies itself that things were fixed.
And I think this is a really interesting thing, which is that I didn't have to go tell the agent to do anything.
It's like rather than giving you step-by-step instructions, you're just putting the thing into the GPS and it just figures it out along the way.
Welcome back to How IAI.
I'm Claire Vaux, product leader, and AI obsessive here.
on a mission to help you build better with these new tools. Today I have a really fun episode with
Lee Robinson, who's teaching the future of coding at Cursor. What I love about this episode is we're
going to walk through Cursor's AI agent and IDE, and we're going to do it for the folks out there that
are a little less technical. We're going to show you how you can be less intimidated by code,
learn some foundational concepts of software engineering, and use Cursor to ship more products. I really
love this episode and I hope you'll enjoy it too. Let's get to it. This podcast is supported by Google.
Hey everyone, Shrestha here from Google DeepMind. The Gemina 2.5 family of models is now generally available.
2.5 Pro, our most advanced model, is great for reasoning over complex tasks. 2.5 Flash
finds the sweet spot between performance and price. And 2.5 Flashlight is ideal for low-latency,
high volume tasks. Start building in Google AI Studio at AI. Dev. Welcome to How IAI Lee. I am so excited
because you get to work with and on one of my daily driver AI products cursor. And so I'm excited
personally to learn a couple of your tips and tricks and also to share them with the How IA audience.
So welcome. Thank you for having me. I'm excited to be here. As someone who I think also, especially now,
is cursor on a daily basis.
One of the things I want to zoom out and explain for people is, what the heck is cursor?
We, of course, have lots of sophisticated engineers, those listeners, but we also have people
that are new to building AI products and want to learn all these tools at their disposal,
want to be able to build code and write software.
And so where does cursor sit in the ecosystem of tools for AI builders?
Yeah, cursor is an AI code editor.
and we allow you to integrate and use any model from the top labs like OpenAI and Anthropic and Google.
But we also train and build our own custom models for things like predicting the next action or
applying some code. So we're building this cinematic universe of tools that help you code with
AI. And it's really a spectrum of different people who can utilize these tools. So we're trying to
build a system that works for beginners who are getting started with coding and with building software
all the way up to, you know, varied power users, which are ourselves building the product, too.
Yeah. And while you get your screen sure up, because I know you're going to show us a couple things,
you know, this may make me an old fuddy-duddy in about a year or two,
but I just really like to look at my code. And so one of the reasons why I like the IDE interface of
something like cursor, even for people who have never written code before, is code is actually
parsible with your eyeballs. You can read it. You can learn to understand.
it. And so one of the reasons, even though it could be pretty intimidating to look at something like
this that has a bunch of file extensions you never heard of and syntax you don't quite know,
is looking at code like this is how I learned to code. I learned to code because I looked at code
other people wrote and I started to decompose and research and understand it. And now I'm, you know,
one of those more sophisticated engineers that likes to write a lot of their code and uses these
tools for that. And so, you know, one thing I want to say for our audience out there that's watching,
even if you're not technical, we're definitely going to have stuff for some of the more technical
folks out there, so don't worry, which is, you know, playing with something like a cursor that
kind of puts the code structure and syntax front and center might be one of the best ways to actually
learn how to code. So I just, I think it's an interesting tool for beginners for that, for that reason
alone. Yeah, absolutely. I remember when I learned how to code and when I was especially
getting into the JavaScript ecosystem, which is a great place for beginners because it works in
the web browser. You can just open up the web and type in and run a web application or website.
And I remember seeing what was on the left here in cursor, this tree of files and all the
different extensions and colors. And it was very overwhelming. I was like, what do all of these
things do? I don't really know what half of them mean. And this was some time ago. But over time,
there's been better and better abstractions built to make this more approachable and easier for
beginners. But I can definitely empathize with looking at this and it feeling a little bit confusing.
So the way I like to think about the cursor editor that you're looking at here is, we'll just
imagine you've already generated some code, you've asked cursors to generate some code,
and you have a code base that looks something like this. On the left is your directory of all the
different files, so all the different code files in your application. The middle is kind of where
you're viewing a specific file or you're looking at some change.
that you want to make. And then the right side, this panel over here, it's kind of like you're moving
up the autonomy slider and you have the agent and the agent can write code for you. So there's
different levels of AI usage you can use. For example, when I'm inside of a file, I can type in code
and get suggestions for, I don't know, maybe I want to add this counter here. And I can get the
helpful auto-complete, not only for the code that I'm writing, but also maybe I want to import some
code as well. So that's like the most basic auto-complete functionality, but then when you start
getting into the agent, it can actually write entire files for you. Yeah, one of the things I want to call
out, again, we're going to, we're going to target this, this particular show at the whole spectrum
of technical skill sets. And so beginning, I still want to stick with some of the folks here that
honestly in our comments have said, I want to try something like cursor and I've never seen code before,
which is, if you want to get to this point with files on the left-hand side, yes,
cursor can absolutely help you scaffold out a basic app. You could also use your favorite web-based
vibe coding app, generate a prototype, download the code, open it on your desktop here. So if you're
looking for like what is the entry path to this, that may be a simple flow to get this kind of code
set up. But let's presume we're here. You have your code. You know, I'd love for you to show us two
things that are going to, I think are going to be really helpful. One is, you know, what are some
common tasks that you think. Curcer can help people do that help you build better code,
help you write better software. And the other thing is just what are pro tips on setting up
cursor to be maximally efficient and powerful? I will guarantee you. I am under,
under configured on cursor. Every time I see somebody else's cursor set up, like, oh, man, I should do
that. And that. So maybe we can cover those two things as you walk through an example.
Yeah. Well, it's not necessarily a bad thing to be.
under-configured. I think as you get better with these tools, I've actually found myself
stripping back some of the configuration that I provided. So don't feel behind if you don't have
configured with all the latest things. I think it's more important to really start to get a feel
for how to work with AI, just in general without lots of extra config. But what I want to show,
which I think is an interesting tip, is let's say you've built the first version of your application.
You've built a prototype. You've got something working. You don't really maybe yet fully understand
how the code works for some of the beginners. And you open it up in cursor.
and you're trying to make sense of things.
There are tools that you can take from traditional software engineering,
how software is built,
and apply them to make your code more resilient to errors
and help the AI models fix errors for you.
So if you think about this agent on the right,
the agent can only work with the information that we provide it,
the context that we provide it.
So if it doesn't know how to basically read its own outputs
or read its information about the code base,
it's a lot harder for it to fix errors for you.
And there are some things that you can do. I'd recommend three or four of these for any codebase that you're setting up.
One is to use a typed language. So in the instance of the web, this is TypeScript, usually.
Two is to use Linters. So linters are going to have opinions about the way that you write code and usually will help you find and fix errors along the way based on things that developers have stumbled on in the past.
The third is to set up a formatter. So it just automatically puts your code into the right formatting, which then you
You just never have to think about it.
And the last one is test.
So you're writing a lot of code.
You're generating lots of things.
And then you accidentally introduce something that breaks.
The nice thing about tests is you can kind of build along the way and validate and make
sure that things work.
And if a test fails after you've made some changes, you can just ask the AI to look at the
output of the test, read what failed, and then go and actually make the code changes to make
it pass.
So I want to show a little demo of this.
While you're pulling that up, I do want to do a little translation again for some
of our earlier in technical maturity.
Typed languages force you to use certain data types in your functions.
So it forces you to require a string or a bullion or a function.
It just forces you to make sure your inputs and outputs match what they're supposed to.
A linter, and I love that you brought this up because I had a friend recently start coding
with Claude Code and like four days later text me and say like, Claire, what is a what is a lint?
tell me what a lint is. And so a lit will sort of like refute your code for common errors and
formatting issues. A formatter will put your code in this pretty format. Line breaks where they need to be,
tabs where they need to be, style where it needs to be. There's lots of formatting that you can do
and then tests are something that all good engineers should be doing. And I'm glad you're giving
it some airtime. But essentially it's a separate set of functions that you can run against your code
to make sure that's operating as it should be. So those are, that's Claire's natural language
of type languages, linters, formatters, and tests.
Yeah, I know.
I love that.
I would think about a typed language is basically it's taking this very open-ended way of
writing code and making it much more strict.
And the nice thing about making it more strict is that, one, it can help prevent issues.
But two, your editor, so cursor or any other code editor, can give you feedback if you do something
wrong.
And that's not only feedback for the humans.
It's also feedback for the AI agents who are writing code.
So if they generate code that's potentially wrong,
usually having types or type languages can help the agent look at that output and say,
oh, actually, I did this wrong and I can go and fix that change.
Yeah.
And just be warned that you may run into type errors and your agent will happily help you work around them.
So knowing what you're doing there is helpful to keep your app appropriately typed.
But let's go into actually how you would do some of those things using cursor.
So one thing I actually did want to show is you could, you know, hide the left sidebar.
You could not have this code open.
You could just be looking at this agent view for the sake of talking about minimizing what
you're looking out on the screen.
And we have some improvements coming here to make this view even better.
But in this instance, in this repo, I've already set up a linter.
And there's something in my application that's not working correctly.
So I can say, fix the lint errors.
And you'll notice, like, I'm not typing a very complex prompt.
giving it a ton of information, the nice thing about AI agents is they can go read things for you.
Cursor and other tools basically give the AI agents skills, and we've given them the skill to go read
files in your codebase and search files in your codebase and run a bunch of commands for you.
So when I say fix the Lent errors, it knows that it can go run a terminal command.
So if you've used the terminal before, maybe you haven't used the terminal before, it's like this
kind of scary looking place where you can run all these strange commands.
and do lots of things for you.
And you don't have to learn any of that right away.
You can ask the agent to teach you how to use terminal commands.
And it knows that, hey, there's this thing called Bun Run Lint,
which you don't need to know is maybe right away.
And it can go and say, I'll just scroll up to the top here,
and we can read through it.
So it went and it ran the command Bun Run Lent.
It said there were two issues that it found.
One of them was that I had this type,
so going back to types, around any.
And any just means basically you're allowing it to be anything.
So we might want to be a little bit more strict than that because it can help us find errors.
And then we see that it actually goes and makes some changes.
So it applies some code changes on this line.
And then it reruns the same command and it verifies itself that things were fixed.
And I think this is a really interesting thing, which is that I didn't have to go tell the agent to do anything.
It's like rather than giving you step-by-step instructions, you're just putting
the thing into the GPS and it just figures it out along the way. And at the end, it says,
great, we fixed all the errors for you. Here's what we did. There was a type safety issue.
And then we formatted the code. So now all of our checks and balances pass. And I didn't have to go
find that place in the code. I didn't have to really go look at this line and know that there was an
issue. It says, hey, here were the issues. Because we have these systems in place, we can help
ensure the code is of high quality. Well, and I might make you come back on the podcast or do a part
two of cursor for super advanced software engineers, which I think would be really useful. But
while we're here in sort of this early stage, I do want you to click this diff in the agent,
just open it up a little. So I want people to be able to see that you could, oh, maybe you can.
You already accepted them. But I wanted people to be able to see, you know, it'll display here
for you what was removed, what was changed in this sort of red green. And again, for people that
are really new to coding, and I know many of you out there listening are, that's the way to like
read the code and and learn. And so it's one of the things that, again, I like about this kind of
like recursive human in the loop process with cursor is now I know run bun bun run lint. Now I know
if I want to run lint and I want to get really fancy. I can open up the terminal and cursor and
run that function myself. And I can look at what it changed and I can say, oh, okay, it changed
type any to type contact. Oh, here it is. Yeah. I could for example still go in here and do it
manually. Like now that I know that that command exists, I can run it and great, everything looks
correct. Perfect. Yeah. I love that. And so this is just an example of, you know, even when your
agent writes code, sometimes it does not write perfect code. And when you write code or you vibe
code something, it can do these sort of like hacks and works arounds, especially with these typed
languages. And so getting into the habit of using cursor to just clean up your code and keep it usable as
you go is really great. So other than Lintz, are there any other tasks that you find yourself
commonly reaching to the agent for in a code base? Yeah. So once you get these checks and balances of
tests and types and lints, basically just making sure as you're adding new features, you're adding
new functionality to your app, you can ensure that the agent stays on track. What I typically find
myself doing is I'll be working on some code kind of in the main view. So if I just go back to this
view, I've got my files in the left. I've got some code in the middle. And maybe I'm actually
typing some things in here myself, but I'm kind of, I'm working on something. I have my attention
in the middle. Then I can go over to the agent and I can run additional things kind of in parallel
on different parts of the code base maybe as I think about it. And this is something you can kind of
train and build this skill of you've got the main thing, which is maybe in the middle.
and then you can run other things on the right.
So maybe I want to, I don't know, add a new route that displays information about different AI models.
I don't know.
We could just put any prompts here, but maybe I want to do this and I don't even want to think about it.
I can just close it out.
So it's just running.
I don't even need to think about it.
I can go back to what I was doing in the middle, trying to figure out something.
And then I can open this back up if I want.
So it can kind of just go cook in the background for me.
And I think as for the first step for a lot of people who are coding with AI, the AI is generating a lot of code for them, which is great.
And then they, as they gain familiarity, as they ask questions and learn how these tools work, then the next step is it really becomes more of a pair programmer.
You're learning, here's what I can use the AI model for.
Here's where I need to kind of take over, grab the wheel and start driving.
Yep.
Yeah.
And I want to call it a meta thing because I have eagle eyes on your code base, which is this looks like a docs academy.
sort of like learning style knowledge base code base it's not a typical very like complex web
application or SaaS application you're coding like a like a learning hub essentially for for developers
and one of the things I want to call out again for people who maybe don't see themselves as software
engineers or don't even see an application in their role for coding which is I think more and
more of marketing assets are going to be owned via code more and more of like
like non-core application is going to be developed in this model.
You used to see these CMSs and these like kind of wizzywig editors.
And I think what AI has made accessible is the ability for, you know,
people who maybe don't have classic software engineering backgrounds to actually run
their own quote-unquote products that are built via code.
And so, you know, I just want to make sure people are thinking like, I don't have,
you don't have to build a consumer app.
You don't have to build a SaaS application.
don't have to build an AI agent, you could build your marketing website, you could build your
learning academy, you could build internal tooling. And at the end of the day, all of it is
behind the scenes as code. And so that's where something like an AI code editor and agent can
really come into play. Definitely. Yeah. Okay. So let's talk about set up. So as I said,
I'm underconfigured. You've made me feel good that I am not overconfigured. So I'm happy to hear
that. But what are some of the kind of tips and tricks you would have around rules and other sort
of configuration setups in In cursor that you think people should know about and be using?
One thing I found just in general is when I see a model do the wrong thing or something that I did
not want, two or three times, it's like, okay, this is probably time for me to notice this hint
and kind of pull that out into a custom rule. And rules are just a way for you to codify.
the places where the models went wrong,
and actually I wanted to work this way in the future.
So I'll show a couple of the rules that I have in my application.
I have some for when I'm writing.
So this is kind of a docs and learning repository,
and I want to use specific writing rules,
specific rules about the package manager that I'm using.
But one thing that's really interesting
is kind of a newer feature of cursor is,
let's say I have the agent open.
I can define specific commands,
and one of my commands is code review.
So if I do code review, I can actually run this over all of my code.
And I define that command inside of this folder.
And I've just been slowly building this prompt as I kind of go along with some things that are worth checking out.
So the way this prompt works is I'm reviewing all the changes I have on my branch.
Branch is just a fancy word in Git terminology, which Git is something.
It's a version control system that you might want to check out as you go further along in your coding journey.
But it allows you to basically go back in time.
and save different parts of your code along the way.
And I should know this.
Does cursor recognize at branch?
Is that like a particular reference?
Yeah.
So when you have the cursor agent open,
you can do the app menu.
And the at menu gives you all of this different stuff
that you can basically forward to the AI model,
forward to the agent.
And one of those is Git.
So maybe you want the branch.
Maybe you want the specific commit.
The branch is basically all of my working changes
on this thing that I'm doing.
and then the commit is like one specific change.
Oh, I should have paid more attention to that menu.
I'm just at mentioning and then type ahead and let's see what shows up.
So this is helpful.
Yeah, yeah.
And you can still do that once you know, once you understand the code and it's like,
okay, I have this file that is a list of my drop down or something.
Yeah.
I can just do at drop down, right?
Yep.
But yeah, what this prompt is doing is saying it's review all the changes I have so far.
And, you know, were there any changes here that could affect if the application is running
offline or when the data is loading or was there anything unnecessary added? Did we add good tests?
You know, add fewer high quality tests. Did we make any changes to authentication? So a lot of
these are more advanced bullet points here based on things that I've seen over time. But you have
the ability to define these custom commands for anything. It could be a security review. It could be a
code review. It could be a code cleanup review. Anything. Yep. And so these are just sort of like on
demand very natural language set of instructions that you can very quickly kick to the agent,
and it'll follow consistently over time. So this is something when you're ready to do a PR,
you're like, let's run this code review real quick before I actually do that,
kick it off, and then you could push the pull request.
Yep, definitely.
This episode is brought to you by Persona, the B2B Identity Platform helping product, fraud,
and trust and safety teams protect what their building in an AI first.
First world.
In 2024, bot traffic officially surpassed human activity online.
And with AI agents projected to drive nearly 90% of all traffic by the end of the decade,
it's clear that most of the internet won't be human for much longer.
That's why trust and safety matters more than ever.
Whether you're building a next-gen AI product or launching a new digital platform, Persona helps
ensure it's real humans, not bots or bad actors, accessing your tools.
With Persona's building blocks, you can verify users, fight fraud, and meet compliance requirements,
all through identity flows tailored to your product and risk needs.
You may have already seen Persona in action if you've verified your LinkedIn profile or signed up for an Etsy account.
It powers identity for the internet's most trusted platforms, and now it can power yours too.
Visit withPersona.com slash how IAI to learn more.
So I have to ask you just a few more questions about your agent setup.
And then we will go on to our second workflows.
If you don't mind popping open your agent, I'm just going to ask you, man, you are an auto agent guy.
You're an auto model selector.
Gentlemen, tell me more because I am spending all my time in that agent drop down.
So explain to me why.
You like this.
Select my agent workflow.
Yeah, I think for those getting started with coding with AI, understanding all the nuances of the
different models can be a little overwhelming. And what we try to do with Auto, which a lot of people
choose to use, is just pick the best choice for you based on, you know, speed, quality, availability.
And I think it's helpful to start this way. And then as you learn more and as you understand
kind of the quirks and differences of different models, then you can go in here and actually see the
complexity of a bunch of different types of models and maybe what the strengths of some are.
So maybe I want a reasoning model like GPT5, it's got this little brain.
And the reasoning is just it can think for longer.
And maybe I want to use that for more complex tasks.
Well, I can pick this specific model and learn kind of how it works, what its qualities are,
its writing style, its output style.
Yep.
And then, you know, four more complex tasks is that's a little.
lot more of what I'm using. Any tips on, you know, sort of microcising your agent chats and
doing like lots of little things using the to-do list? Like, what are some tricks for people trying
to bite off maybe a bigger technical initiative that you found, you know, leads to better success
or helps you avoid context bloat and all that kind of stuff? I would probably need to pull up a
different, probably need to pull up a different repo.
This one was really funny.
This was a demo I was doing where I said,
even more confetti.
Just make it ridiculous.
Add another layer.
No mistakes.
I love it.
I love it.
It's great.
You get this hilarious because the AI model is going to follow whatever style you give it on the format.
So I wanted to have some just amazing confetti here.
And yeah, this was super funny.
But going back to your question,
I feel like this is a little bit longer of a conversation.
and you can see down at the bottom.
You can see down at the bottom,
I used 11% of the context.
And the context is like all of the space available in this chat.
So when I start a new chat, it's a 0%.
And I think it's helpful to know that under the hood,
as that percentage increases, you know,
if you get to 80, 90%,
cursor will automatically summarize it for you
when you get to 100%.
But the quality kind of degrades as you get up to the top
because it's kind of like talking to a person.
Like if you talk for 30 minutes,
it's going to be hard to remember that thing you said
way back at the start of the 30 minute conversation.
So what I try to recommend to people is to make new chats for just street features.
So sometimes that requires a little bit more planning,
a little bit more context that you want to give to the agent.
But it does help get better quality, I think.
Yeah, the other tip I would give to people is I often think about my agents having to
contact switch the same as humans have to contact switch.
cost of that. And sometimes, you know, I'm doing a task and I'll think, oh, wait, how do I run lints again?
For example, and I can throw into that chat, how do I run lints? And it could give, but again, I'm like taking,
taking the agent off, off the golden path of what we're trying to do. And so sometimes for those
one-off questions that are related, but not core, to a workflow, I try to just kick off a one-off
chat to answer them or a separate agent just to sort of keep that single path cleaner. So
that's a little bit of my my tactic there. Okay, so just to recap for folks, we got a whirlwind tour of
what cursor is three panel context window going up the abstraction layer all the way to the agent.
We got a sense of rules and I learned about commands, which I have not been using and I will
be using. We looked at all the things you can add mention into the context, including files and
images and Git context and all sorts of fun stuff there. We learned about types of
and lints and tests and formatters, which we'll talk about a little bit more, I think, later.
And you showed us that code does not have to be super scary. And if it is scary, just close
that window and go back, go back to the agent. Yeah. Yeah. And you can ask the agent to explain
code. I think people who have a lot of agency, a lot of curiosity, are able to just make things.
And then when they see stuff they don't understand, they almost trick their brain into saying,
this isn't scary, this is exciting. This is an opportunity. I'm going to learn something new. I'm
going to build something new. Please explain how this thing works. And it's like you've got this
expert programmer just sitting right beside you who is very, very happy to explain how everything
works. And it has all the time in the day to explain. Yeah, I'll give shout out to Jeremy
David Yeland, who sat next to me over the course of many decades and got very annoying questions
and turned me into the monster that I am. And now I have a version.
of that, you know, like senior engineer sitting next to you who has infinite patients,
who thinks none of your questions are stupid.
And it's just like such a great learning platform.
And so I think it's just an exciting, exciting time.
Okay.
We have one more use case, not about coding, but I saw a little of this before the show.
And it's a good one.
So let's pull up how you use a specific prompt to improve writing, especially writing,
where AI might touch it.
Yes. So I use the ChatGBTGBT Mac OS app a lot. It did a wonderful job. And I use it for all
sorts of things in the day-to-day kind of business world, whether it's Slack messages or blog
posts or just any writing that I need to do emails. And I've built up this mega prompt about
writing that has all the little myths of things that I like and what I don't like. Some of
are more about the style of writing I like, whether it's the way sentences are structured,
the voice and tone. But I think the most interesting part is if I scroll down a little bit,
I built up this list of banned words, which I've certainly just cribbed this from other places
on the internet where people have suggested good writing tips, especially in writing books,
like a lot of writing books have phrases that you want to avoid or words you want to avoid.
But I've tried to also give it very specific examples. So instead of saying this is game-changing,
you can just say, here's the specific benefits.
Or in saying, this is so innovative, you can, you can kind of just remove that word.
And I've built up this big list, some of my own, you know, personal ones that I get annoyed about and then also just general practices.
But this is, this is all just a helpful pass.
Sometimes I run this and I go through and I don't agree with the changes.
I'm like, ah, whatever, it's fine.
Yeah, I think this is great because we do have to give a shout out to Delve, which makes a speaker on this list.
The other thing is I say and write soon.
super so much. I like have a verbal and textual tick around some words. And so this is, I'm going to make,
I'm going to ban my own words here sometimes or at least say don't, don't overuse them.
Oh, totally. I, I've noticed in here, there's especially some of the phrases that I use. I realize that
I say it all the time. So it's helpful for the AI to be like, are you sure you want to say that?
And as with all writing rules, they're meant to be broken. So like sometimes like, yeah, actually I'm,
I'm happy saying pretty much. I know.
it's a little bit more informal, but it's fine. I like it. Yep. Yep. And I like you
it's banned phrases because again, you know, a little bit for the software engineers,
but a little bit for the non-technical is how much marketing all sounds the same? Like all is
data driven by developers, for developers, all this stuff. And just, you know, for the marketers
out there, go out there and ban generic language from your enterprise marketing via AI and see
how much more specific and high impact it can get.
Yes, yeah, 100%.
My favorite recent edition here is when you see it, you cannot unsee it.
But everybody says, you know, we're excited to.
And I've noticed there's been a shift where a lot of people are now to say,
yeah, like obviously you're excited.
Just cut that.
Like, just tell me what the thing is.
This is great.
And X will be an excellent source of your band Slop phrases.
So let's get to it.
And then I need this last prompt.
I'm going to screenshot this and take it.
LLM patterns.
Yeah, I have noticed that, you know, LLMs have,
especially specific models,
all have their own little ticks or things that they do.
For a while, it was,
they would always output markdown lists
with like the same formatting.
It was really annoying because you could always tell
it was LLM generated.
There was, of course, Delve.
The most recent one that I've seen is actually this,
this phrase of,
it's not just X, it's Y.
And it's like, it's a very specific way of writing
that in some ways, like M-Dash's,
it's trained on good writing,
but in a weird kind of unintended way
then ends up getting memed
because so many people did it,
or so-called good writers did it, right?
That now people are like,
wait, that seems like an LLM-generated thing.
And I love M-Dashes, so it's like,
okay, well, I guess I need to change
and be very intentional about when I use them.
So I built up this list of, you know,
little things that kind of just start to feel
like an AI generated the code. Again, all rules are meant to be broken, especially this one,
where it's like, AI sometimes have a tendency to do like, first, do this, second, do this.
But sometimes I kind of like that. It's like kind of nice to follow along. So it kind of depends.
Yep. And so I will give you two things to add this list. If you can prompt GBT5 out of doing two
things, I will buy you a pizza. One is that model loves a bullet point list. Like I cannot get it to not
put lists on lists on lists on list.
I spent two weeks of my life trying to do anti-prompt GPT-5 out of its affection for ordered lists.
The second thing is, and you will not be able to not see this, they've gotten in bed.
I've hassled the team so much.
Hopefully they fixed it.
It loves two-word phrases.
Good job.
Great point.
You're right.
Like, once you see it, you cannot unsee some of these crutches they have in their writing
styles. I was going to say it's super interesting, but that's one of my band,
one of many band phrases. It's really interesting. So I love this idea of,
this is how I want you to write, but mostly this is how I don't want you to write.
Yeah. And are you putting all your content through this or big pieces of content? How are you
using it? Yeah. Generally, my writing process is I go on a walk and I like word vomit things
into a note or I like do a voice note. I love just talking into voice notes.
getting ideas down, just something to get the thought out of my head into on paper somehow,
virtual paper, that is. And then I like to do a, it depends on how much energy I have. If I'm
not feeling motivated, I dump it into AI and I say, give me a first draft because seeing a bad
first draft is like enough energy and motivation for me to be like, wait, this is terrible.
The AI did a horrible job. I can do so much better. And then I actually go and write the thing.
But if I'm feeling like I have a little bit of energy, I usually do the first draft myself,
kind of write a bunch of stuff, and then I work with the AI to help me almost act more like
a reviewer than a writer. I feel like when you ask it to write things, the entire body of text
from scratch, it doesn't feel, it doesn't have the humid touch. Maybe it will in a couple of years
and I'll be laughing. But at least for right now, I still like writing the human version first with
my personality, my taste. And then I just use the AI to help me catch, you know, the ban phrases or
the band words or, you know, just helping with the sentence structure and getting it to look aesthetic.
It's a linter and a formatter. That's what you're doing here to close the loop. This was super
fun. Again, I cannot keep myself from saying that. But let's do a couple lightning round questions,
and I will get you back to all your awesome work. My first one really is kind of this theme of this
podcast, which is there's a spectrum of the people who have never looked at a line of code in their life.
all the way to, you know, staff and principal engineers who can write code by hand on a white
board to solve very complicated problems. And I'm curious from your point of view, you know,
what's the entry point for each of those personas and what's the kind of right interface for people
wanting to get started? Because we have everything from these web-based, vibe coding, front-end
things to terminal-based, who needs to look at the code agents, to something like cursor that's a
little bit more contextualized in the code. I'm just curious your point of view of like,
you know, what is for who in this ecosystem? The term vibe coding is so catchy. It's like
such a good word that in such a good phrase that I think it made a lot of people interested.
And wait, I can't just build software now. So I'm happy about that because I think the democratization of
anybody being able to build software is an amazing thing. Like, I want more people to be able to
contribute and build their ideas. I think it's, that was what got me inspired and interested. The
first time I saw a web development, when I saw the pixels light up on the screen in the browser,
I thought, wow, this is amazing. I want to do this for my career. And helping more people get to that
moment, I think is amazing. So where I'm seeing right now is, I think there's a lot of investment being
made in tools specifically for that type of person, where they're not really ready to look at the
code yet. They're not really ready to start to dig into some of the concepts that we talked about
today. They're really just, this is their first step into it. It's kind of like the, uh, the square spaces
of the world. Like, Squarespace was your entry into I wanted to get a website, uh, online. And I think
that's great. I think there will be a huge number of people who that is extremely valuable for.
Then I think there is the graduation step from that, which is you've built the first version.
You've kind of built this prototype of what you want to do. And it works and you're interested. You've
seen the pixels light up, you've got the spark in you to keep going. And now you want to actually
turn it into a real thing that you're going to be building with and kind of maintaining over time.
And for that, it is unavoidable that you will have to learn a little bit about the code. You can't
just vibe code your way forever. And, you know, again, maybe in five years the malls will be so good
that I'll just be laughing at myself. But I have a suspicion that you will probably always need to
know how the code works, especially if it's something you're going to be working all the time. And if you
have aspirations of becoming a professional developer or making it something that you work on. So that's
kind of where cursor comes in is, yes, you can use cursor to, I just built a game earlier, like a
Space Invaders game. It was super fun. You can build cursor or you can use cursor to build things like
that. But the main thing we're trying to do is help bridge the gap of I'm interested in coding.
I learned how to code. I've got this code. How do I actually use AI to help me build software
all the way from completing the next line that I'm writing to the agent,
helping me generate a file or make changes or fix my lincid tests and all those good things,
all the way to, you know, maybe I want to integrate this AI into my production software,
CI, and I want to run it into CLI.
And like, you can get really advanced with a lot of these things.
We're trying to be available anywhere that a developer or a future developer wants to build
software.
Yeah.
And I love that.
I agree with you in that I, the more people that can build products, the better.
I think it's just so fun.
you know, eight-year-old made roundcraft recently, which is a version of Minecraft, but only with
round objects. And it's just something he would have never been able to do before. And mom's like,
babe, you got to read the code. Like you got to, we're just going to go through it step by
since. I explained to you a little bit about what's happening here. And so I love the idea of
more people building products, but I also love the idea of more people becoming software
engineers. I think that's a really great opportunity here. So that leads me to my second question,
which is we talked about a couple foundational concepts, um, early.
earlier, but you know, I still think people need to learn about how software works, if not exactly how to code.
So what are some of the, either the concepts that you think are really important for people to learn?
Languages, you mentioned JavaScript.
The first thing I ever coded was a button that did Hello World in JavaScript a million, truly a million years ago.
And so, like, are there languages, are there resources, are there tutorials?
You do a lot of education.
Like, where should people who want to get started actually on the path of learning to code?
What are some of the things you think are really?
really important to know. Yeah, for getting started, generally I recommend JavaScript or Python,
two of the most popular programming languages. And for JavaScript, it runs in the browser. So it's
very easy to see your work. Just you type something in and you can actually see it live. And then Python,
I think is, it looks a lot like English. Yeah, it's easy to read. Yeah, you can read it and you're like,
okay, I think I understand what's going on here versus getting into there's more complex programming
languages that can do lots of advanced things, but for getting started, you probably don't need to do
that. So I typically recommend that. And kind of as a fun anecdote, we did a cursor meetup the other
day. And there was actually parents who came and brought their kids and were teaching them how to
program at the meetup, which seeing this generation of new developers interested and excited by
JavaScript or Python or just building software, like I wish I did that when I was eight years
old, right? Like, that's amazing. And I hope my daughter will do that as well. Yeah, I think I agree.
Those two languages are really useful. Again, JavaScript, right in the browser, you get immediate
gratification. And then I think Python, you know, speaking to it being readable also can give you
these like kind of foundational concepts of like, if else, loops, all those kinds of things that are
really good to start to understand just like some foundational programming concepts. And then there's
lots of resources out there. Just go try to, the ones I love,
is find one of these like YouTube tutorials that let you rebuild an app that you already like.
You know what it's supposed to be like. Can you build a version of it? I think that is a really
fun way for people to start to learn to code because it's just very concrete and pragmatic.
Yeah. The thing that I tell beginners is that when you're looking at code, there is a syntax,
which is essentially like a new type of language. Just like you have English, it's like there's
this other language, which is whatever the dialect of JavaScript or Python,
or whatever specific language you want to use.
And as you see these interesting words that have different colors, they all have some meaning.
And they're there for a reason that gives some signal back to the computer on how to
interpret each one of these different bits.
As you run into some, you can then ask questions like, you know, what does const do?
I'm not really sure what that means, but it seems like it's important for something.
Yeah.
Yeah, exactly.
So, you know, read your code.
That's going to be, that's going to be the subheadline of this episode.
Okay. And then last question we ask everybody. You are an expert prompter. I see a lot of like anti-prompting in your writing prompt. But when cursor or any AI tool is not doing what you want, what do you find yourself doing? Are you in all caps? Do you bribe? You yell. Do you close the window? What do you do?
Yeah, I mean, I am not afraid to admit that I do get a little upset. I'm like, this, why does this not working? I definitely am, maybe not all caps, but I'm like,
fix it. It doesn't work. It still doesn't work. It can be very easy to, you know,
not provide enough context when things aren't going right and when something goes wrong. So something
I have to always remember is like when I, when I repromp't when something goes wrong, I'm not very
explicit about what actually wasn't good. It's just more of an emotional reaction of, this wasn't
exactly what I wanted. Well, the model doesn't, can't read my mind. There's no exactly what I wanted.
So I have to kind of stop and be like, okay, it isn't what I wanted, but what did I want?
What was the thing that I actually wanted?
And write that down.
Yeah, I do have to say, you know, I have no fear of people reading my ex-DMs, looking in my camera role.
I don't know if you want to see me when I'm mad at Cursor.
I'm like, no.
I'm not always at my best when things go off the rails, but that's a good point.
What are you trying to do?
Explain it calmly.
be a good colleague. I feel that. There's like some sage life advice in there something. It's like I'm
arguing with my wife and I just need to like step back and just explain calmly what I actually met.
I'm sorry. Sorry, honey. This is actually what I had. Perfect. Well, thank you so much for walking us through
this. Where can we find you and how can we be helpful? Yeah, I'm online at Leerob on X or anywhere else and
Learob.com. And if you want to learn more about AI, I'm going to be sharing things as I go and teaching developers.
I'm also building a course teaching a lot of the AI foundations as part of Cursor, so it's totally free to use.
It'll be on YouTube and everywhere else. So expect that to be out soon.
Awesome. Well, thanks for joining us.
Thank you for having me.
Thanks so much for watching. If you enjoyed this show, please like and subscribe here on YouTube,
or even better, leave us a comment with your thoughts.
You can also find this podcast on Apple Podcasts, Spotify, or your favorite podcast app.
Please consider leaving us a rating and review, which will help others find the show.
You can see all our episodes and learn more about the show at how IAIIPOD.com.
See you next time.
