How I Build Everything with Cursor AI
My workflow for turning ideas into working projects using AI-assisted development.
The Shift
A year ago I wrote every line of code by hand. Today, 90% of my projects start with a conversation. Not with a colleague — with an AI agent inside my editor.
I use Cursor as my primary IDE. It's VS Code under the hood, but with an AI layer that changes how I think about building software. Here's my actual workflow.
Step 1: Start with a Vision Document
Before I write any code, I write a plain-English document describing what I want to build. I keep these in an ai-docs/ folder:
- •vision.md — what the project does, who it's for, what pages/features it has
- •style-guide.md — colors, fonts, spacing, component patterns
- •screens/ — ASCII wireframes for each page
This isn't documentation for humans. It's context for the AI. When I reference these files in chat, the agent understands the full picture.
Step 2: Rules, Agents, and Commands
Cursor supports .cursor/rules/ files — persistent instructions that shape how the AI writes code. I set up:
- •general.mdc — coding standards (TypeScript strict, no
any, conventional commits) - •design.mdc — design tokens and component patterns
- •project-structure.mdc — where files go
I also create subagents — specialized prompts for different tasks:
- •/implementer — builds features following project conventions
- •/reviewer — reviews code quality (read-only)
- •/designer — focuses on visual polish and animations
Step 3: Plan Mode First
For any non-trivial feature, I switch to Plan mode. Instead of jumping into code, the agent:
- 01Analyzes the codebase
- 02Proposes a plan (which files to create/modify)
- 03Asks clarifying questions
- 04Waits for my approval before executing
This catches bad assumptions early. Once I approve, I switch to Agent mode and let it execute.
Step 4: Iterate Fast with Checkpoints
Every change creates a checkpoint. If the agent goes down a wrong path, I revert to the last good state with one click — no git gymnastics needed.
I typically go through 5-10 iterations per feature:
- 01Build the skeleton
- 02Review, adjust
- 03Polish the UI
- 04Review again
- 05Ship
What I've Built This Way
- •Music Recognizer — a Python app that identifies songs from system audio using Shazam's algorithm
- •Lichess PiP — a browser extension for picture-in-picture chess viewing
- •NearbyRoutes — a React app for finding local walking routes
- •This very website — built from scratch in a single session
The Honest Take
AI doesn't replace thinking. It replaces typing. I still make every architectural decision, every design choice, every UX tradeoff. But the mechanical work — scaffolding, boilerplate, CSS tweaking, data formatting — that's where AI saves hours.
The key insight: the better your instructions, the better the output. Writing clear vision docs and rules isn't busywork — it's the actual engineering. The code is just the artifact.
My Setup
- •Editor: Cursor (VS Code fork)
- •AI Model: Claude (via Cursor's built-in integration)
- •Rules: Custom .mdc files for each project
- •Version Control: Git with conventional commits
- •Deploy: Vercel
If you're still writing every line by hand, you're not slower — you're just spending time on the wrong things.