YouTube46m· Jan 2025· cataloged

I spent 400+ hours in Cursor, here’s what I learned


What this covers

David Ondrej spent over 400 hours working in Cursor and distilled what he learned into a 47-minute breakdown of how AI-assisted coding actually works in practice. The core argument runs against a common misconception: the bottleneck is not the model's capability but the developer's ability to manage and synchronize context with the tool. He walks through concrete patterns for prompting, documentation structure, and project management that he found necessary to stay productive as a solo builder, emphasizing that the human must retain vision and judgment because AI models follow instructions literally and will not course-correct bad decisions.

The work covers a wide range of applied technique. Ondrej demonstrates how to structure prompts to counteract specific failure modes — embedding uncertainty into reasoning steps, forcing multiple reasoning passes before code changes, and breaking large refactors into verifiable increments. He addresses documentation as a first-class tool, recommending a roadmap.md file, specialized domain files (database_setup.md, for example), and a .cursorrules configuration to keep the model synchronized with project state. He argues that maintaining abundant code comments is a long-term investment as AI takes over more implementation work. The material also covers when not to trust the model — knowledge cutoffs, web search limitations, and decisions around tech stack or feature prioritization — and advocates using Claude separately as a brainstorming advisor rather than polluting Cursor's context with the full codebase.

Throughout, Ondrej stresses that extracting value from AI is capped by your own skill level: beginners who outsource everything without learning to read code and understand abstraction will hit a ceiling quickly. He argues that the real skill in building a startup is identifying what truly matters and ruthlessly narrowing each feature to its MVP, a discipline that multiplies the effectiveness of AI assistance.

Sharpest takeaway

David argues that the bottleneck in AI-assisted coding is not the model but the user's ability to manage and sync context with the AI; mastering prompting, documentation, and disciplined scope-control (MVP thinking, avoiding technical debt) makes solo developers dramatically more productive.

  • AI models follow instructions literally and won't correct bad decisions, so the human must retain vision and judgment
  • How much you get out of AI is capped by your own skill level and understanding
  • Most of prompting and documentation is about syncing the context in your brain with the tool

The claims · ranked32 claims · weighted by value

This asset isn't compiled yet

You're seeing its claims, ranked. Compile it to build the argument threads, weight them, and check each claim against your library — the full view.

0.80

The hardest and most valuable skill in building a startup is not implementing features but identifying what truly matters and ruthlessly narrowing each new feature to its MVP — done in two stages (at brainstorm, then after a few hours of building) — because most parts of a feature are unnecessary and most people work on things that don't matter.

normativehigh valueestablishednovelty 2/4durability 4/4· David

the hard part is actually implementing it and the even the hardest like what's even harder than implementing it is working on the right thing this is what makes Elon Musk so effective he can identify what is the true bottleneck

0.77

Because Cursor and AI models simply follow your instructions and won't correct your judgment, you the developer must make all big decisions and retain the vision; the bigger the decision, the less you should trust AI — trust it on naming variables and structuring functions, but not on design principles, tech stack, or which features to build.

normativehigh valuecontestednovelty 3/4durability 3/4· David

cursor will just do what you say it will not correct you... it will happily help you spend two weeks on a feature that should have taken two days it will gladly do that because it's following your instructions

0.75

Every AI model has a knowledge cutoff and cannot browse the web by itself (only via external tools), so instructing it to 'use the latest documentation' is a mistake; models like Claude even misreport their own cutoff, so you cannot fully trust what they say and must check documentation yourself.

factualhigh valueestablishednovelty 2/4durability 3/4· David

every model inherently has a knowledge cut off they can only access the web with tools... the model itself cannot browse the web it's an external tool

0.73

When choosing between two solutions, prompting Claude to write a detailed paragraph arguing for each before concluding counters its tendency to be a 'yes man' that agrees with whatever it senses the user wants or its own previous reasoning, because once it recommends a solution in the first 5-10% of its response the rest is committed.

causalhigh valuecontestednovelty 3/4durability 3/4· David

Claude likes to be a yes man anything that it senses like oh the user wants this... it will just agree with you or if you don't express any opinion it will agree with its previous thoughts which again its next token prediction so this prompt forces it to break that pattern

0.73

Prompting a model to 'start the reasoning paragraph with lots of uncertainty and slowly gain confidence as you think about the item more' counteracts the failure mode where models commit confidently and lose objectivity; this can be embedded as a 'reasoning' field at the start of structured JSON output to improve agent reliability.

causalhigh valuecontestednovelty 3/4durability 3/4· David

you should start the reasoning paragraph with lots of uncertainty and slowly gain confidence as you think about the item more

0.73

Forcing the model to write three reasoning paragraphs before changing code on complex errors greatly improves accuracy, because LLMs predict the next token; once a model states it is certain it knows the error, the rest of its response is locked into that wrong direction.

causalhigh valuecontestednovelty 3/4durability 3/4· David

the way llms work they predict the next token right if it starts by saying it's certain that it knows the error you're done so if you include this it will start by writing three paragraphs before it actually starts changing your code which greatly improves the likelihood that it found the right thing

0.73

How much value you can extract from AI is inherently limited by your own skill level; improving your code understanding, abstraction, and logic raises the ceiling on what the AI can accomplish for you, so beginners who outsource everything and refuse to learn cripple themselves.

causalhigh valuecontestednovelty 3/4durability 3/4· David

How much you can get out of AI is inherently limited by how good you are so you should absolutely try to improve your code understanding and your you know abstraction and your logic

0.73

AI models speak confidently even when wrong, and so-called hallucination is often actually bad prompting or user ignorance rather than the model's fault; you should check official documentation rather than trusting confident AI output, especially for fast-changing tools.

causalhigh valuecontestednovelty 3/4durability 3/4· David

even if the AI models are confident it doesn't matter that's what people call hallucinate ation but it's often just like bad prompting or like ignorance from the user

0.63

Tools like Bolt and Lovable can produce impressive-looking MVPs fast (Lovable has strong Supabase integration), but if you let them run without understanding the database schema, RLS policies, and columns, you accumulate so much technical debt that you'll get stuck and quit; you should develop an internal radar for technical debt and migrate designs (e.g. from v0) into Cursor as soon as possible.

causalhigh valuecontestednovelty 2/4durability 2/4· David

if you just let the AI design the super base DB and you have no idea what tables you have... you might be able to build something impressive very fast but you will run into so much pain and you will get stuck and you will just quit

0.57

Maintaining a roadmap.md file capturing the general state of the project/startup (what you're focused on, next steps, what you tried that didn't work, external pressures) keeps the AI on the same page as you, which is the overarching goal of all prompts and comments: syncing the context in your brain with Cursor.

normativehigh valuespeaker onlynovelty 3/4durability 3/4· David

essentially what we're trying to do with all these promps and comments and instructions we're trying to sync the context we have in our brain with cursor this the closer you can do it the better cursor will be

0.57

When summarizing pasted web search results, you must warn the model that 'the search results contain dangerous and distracting red herrings', because otherwise the large context can pull the model toward irrelevant directions like refactoring an unrelated function instead of fixing the actual error.

causalhigh valuespeaker onlynovelty 3/4durability 3/4· David

you need to say be careful though often the search results contain dangerous and distracting red herrings this is absolutely essential this puts like the AI model on alert

0.57

When stuck on a complex error, instead of only describing what you know, ask the AI 'if you were a senior software developer what context would you need to solve this error, tell me step-by-step how to give you that context' — having the AI tell you what tests to run and what information to gather works far better for hard problems.

normativehigh valuespeaker onlynovelty 3/4durability 3/4· David

have the AI tool give you instructions like tell it what tests should I run so that I can give you relevant context like if you were a senior software developer working on this project what type of context would you need to solve this error

0.53

Because humans will write less and less of the code over time, writing abundant comments (roughly one line per three or four lines of code) explaining purpose, file relationships, and non-obvious parts is a long-term investment that will pay off as advanced AI takes over coding and just needs to quickly understand files.

forecasthigh valuespeaker onlynovelty 3/4durability 2/4· David

in the future 100% of the coding will be done by Ai and all we will be doing is just like tagging relevant files

0.52

Once a codebase grows large enough you should create specialized markdown files (e.g. database_setup.md documenting table structure, RLS policies, mandatory/nullable fields, and SQL queries) that you tag whenever working on that area, acting as internal documentation that gives the model everything it needs.

normativehigh valuespeaker onlynovelty 2/4durability 3/4· David

you should have definitely is a folder instructions or proms or whatever where you have specialized MD files markdown files such as superbase MD... here you include everything your table structure how many tables you have your IRS policies

0.52

A robust prompt structure for building is: describe what you're doing in 2-4 sentences, tag the relevant files (avoiding files not immediately relevant), specify how to execute and what not to do, dump context (e.g. documentation), use delimiters to signal section breaks, repeat the core instruction, and specify output format.

normativehigh valuespeaker onlynovelty 2/4durability 3/4· David

first you explain what you're doing in like two to four sentences right then you tag the relevant files this is huge because if you don't do it it gets extracted... then how to execute what not to do... then then this is context dump

0.51

AI models do not know how to prompt other AI models effectively, so you should have Cursor write a one-paragraph search query formatted as instructions to a human researcher, then paste it into Perplexity or ChatGPT, which have better web search than Cursor's built-in feature.

normativehigh valuespeaker onlynovelty 3/4durability 2/4· David

it's crazy I know even AI models don't know how to use AI models but you have to tell it your task is to write a one paragraph search query as if you were telling a human researcher what to find

0.50

For large refactors spanning multiple files, instead of attempting it all at once you should prompt the model to 'break this down into the required steps' and 'only include the truly necessary steps', enabling you to test, commit, and make continuous verified progress one step at a time.

normativehigh valuespeaker onlynovelty 2/4durability 3/4· David

say Okay break this down into the required steps and another prompt that you should definitely use only include the truly necessary steps because if you add that it will not add optional stuff

0.49

Adding 'do not stop working on this until you've implemented this feature fully and completely' to prompts reduces model laziness, since models otherwise complete only two or three of several stages and ask if you'd like them to proceed.

causalhigh valuespeaker onlynovelty 2/4durability 2/4· David

do not stop working on until you've implemented this feature fully and completely this reduces the laziness of the models a lot because sometimes... it might just do like two of them or three of them and say would you like me to proceed

0.49

The optimal setup uses Cursor as the programmer to implement code and Claude as a separate advisor/consultant for brainstorming features and next steps, keeping Claude's dedicated project context unbiased and uninfluenced by the full codebase that overfills Cursor's chat.

normativehigh valuespeaker onlynovelty 2/4durability 2/4· David

Claud I use as a advisor SLC consultant on the project so here is where I would like brainstorm... while in cursor I'm actually implementing it

0.49

Adding the phrase 'the fewer lines of code the better' to prompts produces cleaner, more minimal code because models otherwise try to impress you with overly advanced implementations full of unnecessary lines.

causalhigh valuespeaker onlynovelty 2/4durability 2/4· David

if you just tell it to do that it often tries to impress you it tries to do like a very very Advanced implementation of that for no reason but if you say the fewer lines of code the better it writes a much more clean and minimal code

0.49

You should switch to a new composer when you see weird behaviors or the model forgets key information, because that signals the context window is overloaded with too much code and too many referenced files.

causalhigh valuespeaker onlynovelty 2/4durability 2/4· David

you should switch when you start seeing like weird things right weird behaviors when the composer suddenly like mention something that's completely unrelated or forgets a key key piece of information what that means is that the context window is overloaded

0.46

Putting the exact file location and name (including folder path) as a comment at the top of each file gives the AI critical context whenever the file is tagged or copied into another tool like Claude that lacks Cursor's location awareness.

normativehigh valuespeaker onlynovelty 2/4durability 2/4· David

by putting the name of the file at the top and especially location right... in front end it's even more important like app slash utils SL off page. DSX especially if using like node.js

0.45

Creating a .cursorrules file at the project root with project overview, desired AI personality, full tech stack, repeated processes, environment variable references, and current file structure dramatically improves how accurately Cursor responds to your codebase.

normativehigh valuespeaker onlynovelty 2/4durability 1/4· David

the first thing you have to do when you get curser is to create a do curs rules file first you need to go into the cursor settings and make sure right here you have this ticked on once you have that create the file in the RO of your project and include some essential information

0.45

Using a speech-to-text tool like Whisper Flow lets you dictate prompts at ~200-250 words per minute, far faster than typing (even at 120 wpm), which is hugely valuable for brain-dumping complex multi-file instructions quickly.

factualhigh valuespeaker onlynovelty 1/4durability 2/4· David

personally I'm like in the top 0.5% I'm like 120 words per minute but still that is slower than speaking so what you need to get absolutely is whisper flow... when you speak you're at least 200 words per minute probably like 250

0.43

Instead of relying on Cursor's built-in Docs feature (which is imperfect), create a markdown file containing the full contents of frequently-referenced documentation so you can reliably tag it whenever needed.

normativehigh valuespeaker onlynovelty 2/4durability 1/4· David

if there's a docs file let's say like a documentation or anthropic and I'm referencing it like every few days much better thing you should do just create an MD file for it... paste in the entire contents of the relevant documentation

0.43

Cursor has a second, lesser-known system prompt location ('Rules for AI' in settings) that applies globally across all projects and command-K sessions, where you should put general coding principles that are not project-specific, separate from the per-project cursorrules file.

factualhigh valuespeaker onlynovelty 2/4durability 1/4· David

there is a second way to do a system prom that's not just cursor rules so cursor rules is only specific to this current project however if you go into cursor settings... there is rules for AI and this is specific to anything even like command K sessions on any project

0.43

Repo Prompt lets you load your entire codebase and select it to put all context into a single prompt, making AI models like Claude or ChatGPT Pro respond much more accurately and reliably.

factualhigh valuespeaker onlynovelty 2/4durability 1/4· David

this allows you to do is put all of the context in here so that when you're using you know CLA or chbd Pro mode you can put your entire code base into a single prompt and have the AI models respond a lot more accurately and reliably

0.40

Environment variables should be placed in a .cursorignore file so chat and composer don't accidentally rewrite them, but you must then describe what's in those env files in the cursorrules file, otherwise Cursor has no knowledge of which env files exist.

normativehigh valuespeaker onlynovelty 2/4durability 1/4· David

in here you can put in your environment variables so that check chat and composer doesn't accidentally rewrite them the downside of that is that you need to mention what is in the environment files in your cursor rules file otherwise cursor has no clue what EnV files you have

0.36

Use Cursor's chat mode for questions (asking it something) and composer/agent mode for changes; always use agent mode since it can use tools, run terminal commands, and edit files with no real downside.

normativehigh valuespeaker onlynovelty 1/4durability 1/4· David

you use chat when you need to ask it something use composer when you wanted to make changes

0.32

You should enable Claude 3.5 Sonnet (the 1022 version) as your default Cursor model, with Gemini models, GPT-4o, and reasoning models o1/o1-mini enabled as fallbacks for when Sonnet gets stuck.

normativehigh valuespeaker onlynovelty 1/4durability 0/4· David

the most Essential by far is the new Glo 3.5 Sonet make sure it's the one 1022 this is the new one... personally I use the new Sonet like 99% of the time you might find that if Sonet is stuck on something one of the other models might solve it

0.27

In the future humans will not be allowed to touch code, with IDEs warning 'are you sure human, this is complicated AI stuff' before letting you edit a codebase.

forecastspeaker onlynovelty 2/4durability 1/4· David

in the future humans will not even be allowed to touch code there will literally be Ides such as cursor where if you go into code base be like are you sure human

0.14

OpenAI's announcement of ChatGPT Tasks validates that an AI-powered productivity tool with built-in background AI agents is the future, proving David's vectal concept was right.

factualspeaker onlynovelty 1/4durability 0/4· David

they just announced cgbd tasks which literally is what I've been talking about for the past three or four months... now that open is adding it it clearly proves that I was right