Prajwal Tomar Profile picture
Jul 8 12 tweets 3 min read Read on X
I ditched “vibe coding.”

And suddenly, building with Cursor felt calm again.

Here’s how I ship faster without burning out ↓
Reposting this thread because many of you didn’t catch it the first time. It’s worth reading.

-------

1/ The workflow (quick summary)

This is the system that works:

- Plan clearly (PRD) @ChatGPTapp
- Break it down with TaskMaster
- Execute one task at a time in @cursor_ai
- Review everything with @coderabbitai

Let’s go deeper ↓
2/ “Vibe coding” was a trap

I’d give a vague prompt like “Build a landing page” and Cursor would go wild.

Sure, things moved fast, but most of my time went into cleaning up the mess:

- Messy logic
- Hallucinated features
- Bugs I never asked for

It wasn’t fun anymore. It was firefighting.
3/ The root problem: Agent Chaos

When you give a high-level goal, your Cursor agent starts guessing.

It assumes structure, state, styles, everything.

You end up with bloated, unmaintainable code.

Fast now, painful later.

You’re not building, you’re babysitting.
4/ The mindset shift that changed everything

I stopped prompting like a user.

Started directing like a product engineer.

It’s not “can you build this?”

It’s “here’s what to build, exactly how I want it.”

Cursor became my dev. I became the architect.
5/ My “Calm Coder” Workflow

Here’s what I follow every time:

1. Plan → Write a clear 1-page PRD
2. Break down → Use TaskMaster in Cursor to list exact tasks
3. Execute → Feed ONE task at a time to Cursor
4. Review → Use CodeRabbit to double-check quality

Clean. Repeatable. Fast.
6/ Step 1: The 1-Page PRD

Don’t jump into Cursor yet.

Start by writing a simple 1-page PRD that explains what you’re building and why.

Use ChatGPT or Gemini to help structure it.

You can follow my exact format here:
7/ Step 2: Use TaskMaster (The Loop)

This is the magic step. Instead of just listing tasks, you de-risk the project before coding:

1. Parse PRD: Paste your new PRD into Cursor's TaskMaster.

2. Check Complexity: It parses the doc and gives each feature a complexity score.

3. Expand: See a high score (e.g., 8/10)? That’s a red flag. Command TaskMaster to "expand" that complex feature into smaller, simpler sub-tasks.

4. Repeat: You repeat this loop until every task is small and simple (e.g., < 4/10).
8/ Step 3: One task at a time

Now that your TaskMaster list is ready, don’t dump everything into Cursor.

Take one task. Run it.
Check the output. Review it.
Only then move to the next one.

For more details on using taskmaster refer to the below thread:
9/ Step 4: Let CodeRabbit be your reviewer

Once you’re done with a feature, open a PR.

CodeRabbit:
- Spots hidden bugs
- Suggests cleaner code
- Flags edge cases
- Gives you a senior-level review instantly

It’s the final polish before shipping.
10/ Before vs After

Before:
- Prompt big vague tasks
- Get messy code
- Waste hours debugging
- Feel burnt out

After:
- Small tasks
- Clean output
- AI reviews it
- Ship stress-free

The difference is night and day.
11/ My full stack for AI-assisted shipping

Cursor → The coder
TaskMaster → The planner
CodeRabbit → The reviewer

This is how I ship MVPs fast, without skipping quality.

If you’re tired of the chaos, try this once.

• • •

Missing some Tweet in this thread? You can try to force a refresh
 

Keep Current with Prajwal Tomar

Prajwal Tomar Profile picture

Stay in touch and get notified when new unrolls are available from this author!

Read all threads

This Thread may be Removed Anytime!

PDF

Twitter may remove this content at anytime! Save it as PDF for later use!

Try unrolling a thread yourself!

how to unroll video
  1. Follow @ThreadReaderApp to mention us!

  2. From a Twitter thread mention us with a keyword "unroll"
@threadreaderapp unroll

Practice here first or read more on our help page!

More from @PrajwalTomar_

Jul 7
If you’re using lovable to build apps, read this first

This is everything I wish I knew before starting ↓ Image
Reposting this thread because many of you didn’t catch it the first time. It’s worth reading.

-------

1. Nail your first prompt

I always start inside my custom GPT, SnapPrompt, and get the full prompt for my landing page first.

This includes layout, structure, typography, and design style. I just copy-paste that into Lovable with a design reference attached and it gives me a clean starting point.
2. Always prep your technical docs before starting in Lovable

Don’t dive in blind.

Have your DB design, UI Dev plan, MVP plan, and implementation plan ready.

Keep it simple, generate them during the planning phase using GPT or Gemini.

Then just paste them as .md files into Lovable.

That way, Lovable has full context about your product from the start.
Read 16 tweets
Jul 5
I’ve used Claude Code for 100+ hours building MVPs.

Most developers are missing the best features.

Here are 10 tricks that will change how you build ↓
1/ Use planning mode before EVERYTHING

- hit Shift+Tab twice to enter planning mode
- I plan every feature here first
- no code gets written until the plan is solid
- saves me hours of refactoring later
2/ Create custom commands for repetitive tasks

- Make a /claude/commands folder
- Create markdown files for common workflows

I have commands for:
- Security audits
- Documentation generation
- Code reviews

Like having a senior dev on speed dial
Read 13 tweets
Jun 27
This is how I made Cursor 10x more accurate.

GitMCP turns any GitHub repo into an MCP server.

Here’s how ↓
1/ Cursor breaks when the context is messy

When you link a GitHub repo, Cursor loads everything even the junk.

That overloads the model.

And you get:

- Confused completions
- Useless suggestions
- Wrong assumptions
2/ GitMCP solves this with clean, scoped context

GitMCP is a smart filter.

It turns any GitHub repo into a focused MCP server.

Cursor pulls only the context it needs, no bloat.

The result?

Clean code. Accurate answers. Fewer bugs.
Read 11 tweets
Jun 26
I’ve vibe coded 18+ MVPs for clients using Cursor.

Security was the one lesson I learned the hard way.

Here’s the checklist I wish I had from day one ↓
1. Rate limit your endpoints

If you skip this, bots or bad actors can hit your backend 100s of times per second.

This can:
• Crash your database
• Drain your Supabase usage
• Spike costs or open you to attacks

Tools to use:
• Supabase Edge Functions with a rate limiter
• Vercel Middleware
• Basic IP throttling with Next.js middleware
2. Enable Row-Level Security (RLS)

If you’re using Supabase, turn on RLS on every table from day one.

Without it, users can query other people’s data.
And yes, this happens way more than you’d think.

To set it up:
• Go to Table → RLS → Enable
• Use policies like user_id = auth.uid()

No RLS = no data security.

Pro Tip: Try asking Cursor for these policies based on your DB design and PRD. It will help you write them correctly.
Read 13 tweets
Jun 24
Cursor just got 100x more powerful.

And it wasn’t because I used a bigger model.

It was because I gave it better memory.

Here’s how I fixed it with Context 7 MCP ↓
1. The core problem: outdated context kills your agent

Every LLM has a training cutoff.

Ask it to install expo and it runs a broken command.

Not because the model is bad. It just doesn’t know recent changes.
2. “+ Add Docs” works... until it doesn’t

Cursor has a “+ Add Docs” option.

Works fine for small libraries (like a single README)

Breaks for big projects

Because it dumps everything into memory and overloads the context.
Read 11 tweets
Jun 23
What I learned after building 2 MVPs with Claude Code (and why I might not go back to Cursor)

Here’s what I wish someone told me earlier ↓
1/ Claude isn’t a one-shot coder

Don’t just ask it to “add feature X.”

Start in plan mode.

Let it think first.

Then review the plan and run it.

It’s slower, but the code is way cleaner.
2/ Create a file before you build

This is where you define your project:

- Goal
- Tech stack
- Folder structure
- App flow

Claude keeps referring to this throughout.

Without it, the context gets lost fast.claude.md
Read 12 tweets

Did Thread Reader help you today?

Support us! We are indie developers!


This site is made by just two indie developers on a laptop doing marketing, support and development! Read more about the story.

Become a Premium Member ($3/month or $30/year) and get exclusive features!

Become Premium

Don't want to be a Premium member but still want to support us?

Make a small donation by buying us coffee ($5) or help with server cost ($10)

Donate via Paypal

Or Donate anonymously using crypto!

Ethereum

0xfe58350B80634f60Fa6Dc149a72b4DFbc17D341E copy

Bitcoin

3ATGMxNzCUFzxpMCHL5sWSt4DVtS8UqXpi copy

Thank you for your support!

Follow Us!

:(