Docs menu

Write good prompts

Describe the people, the records and the one thing that matters most. Ask for one change at a time, describe the problem rather than the fix, and say what should stay the same.

Updated

On this page

crisp builds what you describe. It does not stop to ask questions during a build, so a clear message gets you a better app sooner, and costs less, than a vague one that needs many corrections.

Your first prompt#

A good first prompt has four parts. Two to four sentences are enough.

The four parts of a good first prompt.
  • Who uses it. "For a two-person design studio" tells crisp how big and how formal the app should be.
  • What it keeps track of. Name the things: clients, projects, bookings, orders. Name the important details of each: a booking has a class, a time and an email address.
  • The one thing that matters most. What should people see first, or do most often? crisp puts it at the centre.
  • How it should feel. A few words are enough: calm, playful, serious, minimal, dark. You can also name an app whose look you like.
Vague

Make me an app for my gym.

Clear

A class schedule for my small gym. Members see the week's classes and book a place. A class has a coach, a time and 12 places. I can see who booked each class. Bold and energetic look, easy to use on a phone.

Ask for one change at a time#

After the first build, send one change per message. A small request is faster, easier to check, and if it is not what you wanted, easy to correct with the next message.

Vague

Add sign-in, a dark mode, export to Excel, and redo the home page.

Clear

Add sign-in with email and password. Only signed-in people can add or edit bookings. Visitors can still see the schedule.

If you have a list of changes, number them and send them as one message only when they are small and belong together.

Say where, and what to keep#

  • Name the page and the part of it: "On the bookings page, in the table at the top…". The path bar above the preview shows the page you are on.
  • Use the words you see on the screen. If a button says Add class, call it that.
  • Say what should not change: "Keep the colours and the layout. Only change the form."

Describe the problem, not the fix#

You know what is wrong. crisp knows how the code works. Tell it what you see and what you expected, and let it choose the fix.

Vague

Make the text blue and bigger.

Clear

The prices on the product cards are hard to read on a phone. Make them stand out more.

When something is broken#

  • Say what you did, what you expected, and what happened instead.
  • Copy the exact error message you see, and paste it into the chat.
  • Say if it worked before, and what changed since then.
A helpful bug report

On /bookings/new, I filled in the form and pressed Book. I expected to see the booking in the list. Instead the page shows "Something went wrong". It worked before the last change.

Ask for features by name#

crisp knows how to add common features well. Use these words and it follows a tested approach:

SayYou get
"Add sign-in"Accounts with email and password, and pages only signed-in people can see. More
"Let people upload a photo"Image and file uploads, stored with your app. More
"Send an email when…"Email messages, such as confirmations. More
"Use AI to…"Summaries, suggestions or a chat inside your app. More
"Take payments"Card payments with Stripe. More

If crisp made a choice you do not like#

Because crisp does not stop to ask, it sometimes guesses. Its plan at the start of each build says what it assumed. Correct it in your next message, in the same conversation: "You used a calendar view. I prefer a simple list, sorted by date."

Something wrong or missing on this page? Tell us. A person reads every message.

Report a problem