How I Use Cursor to Validate Ideas

Building functional prototypes to test hypotheses before committing engineering resources.

Building functional prototypes to test hypotheses before committing engineering resources.

Building functional prototypes to test hypotheses before committing engineering resources.

YOUR PROMPT

Tell the story of a day that changed your perspective on life.

bold

italic

underline

Begin your story here

Your Progress

Hook & Opening

star

star

star

star

star

Story Structure

star

star

star

star

star

Descriptive Details

star

star

star

star

star

Transitions

star

star

star

star

star

At Wayground, I often need to test ideas before we commit engineering time to them. Figma prototypes work for some things, but when you need real data, real inputs, and real AI responses, you need something that actually works.

That's where Cursor comes in. I use it to build functional prototypes I can put in front of users and learn from.

Instead of writing another "how to use Cursor" guide, I'll walk through an actual project I built recently. Step by step, from planning to deployment.

Just want to see the result?

The Problem We Wanted to Solve

In US middle schools, students write essays in English Language Arts. Narrative, argumentative, informative. Each type has specific rubric traits: hook and opening, story structure, descriptive details, transitions, voice and tone, conclusion.

Here's the problem: students practice on pen and paper, then submit their work and wait. They don't know if they're on track until a teacher grades it days later. And teachers? They can't possibly give detailed feedback on every practice essay from every student. There's just not enough time.

We saw a gap. What if students could get instant feedback while practicing? Not a grade, but guidance. "Your opening is strong, but your transitions need work." Something that helps them improve before the test that actually counts.

The question wasn't whether we could build this. The question was whether students would actually use it. Would they understand the feedback? Would it help them improve? Would they care?

To find out, we needed something real to test. Not a Figma prototype with fake data. Something where they could actually write an essay and see what happens.

Before Opening Cursor: The Planning Phase

Framing the Problem

I've learned that the quality of what Cursor builds depends entirely on the quality of what you feed it. Garbage in, garbage out. So before I write a single prompt, I answer four questions:

I do this planning in FigJam rather than a document. Something about the visual format helps me think more clearly.

Defining the Structure

Once I know what I'm building, I sketch out the app structure. What pages exist? What happens on each one?

For EssayPulse, it's simple:

PAGE 1: PROMPT SELECTOR

App name and description

Categories of prompts (Life Moments, Relationships, Challenges, etc.)

Click a prompt to start writing

PAGE 1: WRITING PAGE

The selected prompt at the top

Rich text editor on the left

Rubric traits sidebar on the right (six traits, each with a star rating)

"Check your progress" button (enabled after 150 words)

Clicking a trait opens detailed feedback: what's working, what to improve

A rough sketch on paper helps here. Nothing fancy. Just boxes and arrows.

The Tech Stack

This is where it gets intimidating for designers. But here's the thing: you don't need to know what tech stack to use. You just need to describe what you're building clearly enough that Claude can figure it out.

That said, I've landed on a default stack that works for most prototypes:

FRONTEND

React + Vite + Tailwind CSS

BACKEND

Convex

DEPLOYMENT

Vercel

APIS

OpenAI

RICH TEXT

Tiptap

If you're unsure, just tell Claude what you need and ask it to recommend a stack.

The Prompt That Builds the App

Here's the template I use to describe any app to Cursor. I ask Claude to help me fill it out based on my planning notes:

Para 1 - Who & What Problem

This is a [type of app] for [target user] who want to [goal]. It solves the problem of [pain point].

Para 2 - How It Works

[User] lands on [first page] where they [action]. Once they [complete action], they go to [next page] with [key UI elements]. [Describe the interaction flow]. [User] can [repeat action] as many times as they want.

Para 3 - Pages

The pages to build are [list all pages].

Para 4 - Tech Stack

For the tech stack, use [framework] for the frontend, [library] for [specific feature], [service] for the backend, and [API] for [functionality].

Para 5 - Design Direction

The design should be [style adjectives], using [font type], [spacing], [corners], [shadows], and [color palette].

Para 6 - CTA

Create a thorough plan to build this application.

For EssayPulse, that became:

cursor-prompt.txt

This is a narrative writing practice app for students who want to improve their storytelling skills with real-time AI feedback. It solves the problem of students writing essays without knowing if they're on track until after submission or grading.


Students land on a prompt selector page where they pick from narrative writing prompts organized by category. Once they select a prompt, they go to the writing page with a rich text editor on the left and a rubric traits sidebar on the right. The sidebar shows 6 traits: Hook & Opening, Story Structure, Descriptive Details, Transitions, Voice & Tone, and Conclusion. Each trait displays a star rating out of 5. Once the student writes at least 150 words, they can click "Check your progress" to get AI-powered feedback. Clicking any trait opens a detail view showing "What's Working" and "What to Work On." Students can edit and re-check as many times as they want.


The pages to build are the prompt selector page and the writing page.


For the tech stack, use Vite + React + Tailwind CSS for the frontend, Tiptap for the rich text editor, Convex for the backend, and OpenAI API for scoring and feedback.


The design should be clean and minimal, using serif fonts, generous whitespace, rounded corners, soft shadows, and a muted warm palette.


Create a thorough plan to build this application.

I use Opus 4.5 for planning in Cursor. It breaks everything down into tasks, and if the plan looks right, I hit build.

What Came Out

One prompt. That's all it took to get a working app with:

A prompt selector with categories

A writing page with a rich text editor

Live word and paragraph count

A rubric sidebar with six traits

AI-powered feedback on each trait

"What's Working" and "What to Work On" sections

Did I need to add my OpenAI API key to Convex? Yes. Did the first "Check Progress" click throw an error until I did? Also yes.

But once that was set up, the core functionality worked.

Testing Reveals the Gaps

Here's where prototypes earn their keep. I started testing the app and immediately found a problem.

I wrote an essay about Formula 1 drivers for a prompt asking about "a day that changed your perspective on life." Completely off-topic. The system still gave me scores on all six traits.

That's a problem. Students might think they're doing well when they haven't even addressed the prompt.

So I went back to Cursor:

cursor-prompt.txt

When I go off topic, the traits still give me a score, which can create false expectations. How will the system detect whether the essay is on topic before assigning rubric scores?

A few prompts later, the app now:

1

Checks if the essay addresses the prompt before scoring

2

Shows a warning if it's off-topic

3

Explains why the essay doesn't match the prompt

4

Displays scores with a disclaimer that they reflect writing quality, not relevance

This is exactly why you build to test. A Figma prototype would never have caught this.

Making It Beautiful

Once the functionality works, I like to invest in the visuals. Not because it's necessary for testing, but because a polished prototype feels more real to users. They take it more seriously.

For EssayPulse, I wanted a typewriter aesthetic. The app is about writing, so leaning into that felt right.

My process:

1

Find inspiration on Pinterest (searched "typewriter aesthetic")

2

Open a new Cursor agent and ask it to describe the typewriter UI aesthetic

3

Have it create a design-guidelines.json file with typography, colors, textures

4

Ask Cursor to create a style guide page showing all UI components

5

Review and tweak until it feels right

6

Apply the style guide to the entire application

The result: monospace fonts, aged paper backgrounds, ink-colored text, typewriter-style buttons. The whole app transformed in a few prompts.

Ship It

Once I'm happy with the prototype, I deploy to Vercel. Git commit, push to main, and it's live. A real URL I can send to students for testing.

That's it. Try it yourself

Looking for a designer?

If you're building something cool and need a hand, I'm all ears.

© 2026 AMAN JAIN

Looking for a designer?

If you're building something cool and need a hand, I'm all ears.

© 2026 AMAN JAIN

Looking for a designer?

If you're building something cool and need a hand, I'm all ears.

© 2026 AMAN JAIN