Docs / prompts

Working with the AI

Good prompts are concrete: name the files, the fields, and the behaviour you want. The composer also carries controls that change how a run starts — asking first, drafting a design, picking a model, choosing which app you mean.

What works

  • Name the file when you know it. "Create app/about/page.tsx with a four-person team grid — photo, name, role."
  • Point at what already exists. "Use the Dialog component that is already installed; do not add another modal library."
  • Describe behaviour, not just layout. "The form posts to /api/contacts. On a validation error, show the message under each field. On success, redirect to /thanks."
  • Give example data. "A transactions table with columns: date (2026-05-23), amount (Rp1.250.000), status (paid | pending | failed)."

A focused prompt beats a long one. If a request covers three unrelated things, send three prompts.

What often misses

  • "Build an e-commerce app" — too broad, so the AI guesses an order. Split it (product list → cart → checkout), or let it propose a plan.
  • "Make it look modern" — modern to whom? Name a product it should resemble, or the colours and components you have in mind.
  • "Fix the bug" with no detail. Paste the error text, the file, and the steps that trigger it.

Let the AI ask first

Tick Ask first and the AI asks two or three questions before writing anything, then works from your answers.

It turns itself on for your first prompt in a project, and after that whenever a prompt reads vague — during your first week on the platform it is readier to do so. It stays out of the way for a short, specific follow-up in a project that already has history: "tambah kolom stok di tabel" is short because the context is already there, not because you have not decided. Untick it to skip. It is unavailable while Design first is on, since a design run starts with mockups instead.

When questions arrive the run pauses at Waiting for your answer and a short form appears in the chat:

  1. Answer the questions. Additional notes (optional) takes anything the form did not cover.
  2. Click Send answers — or Skip — let the AI decide to hand the choices back.

Answering costs nothing, and the run resumes once you reply. Leave it longer than 10 minutes and the prompt is cancelled — send it again.

The questions skip what the platform can already see. It knows which database you picked, whether file storage is on, whether your app has a login and which tables the data API exposes, so it will not ask you to confirm any of that — only the things it genuinely cannot know.

Choosing a model

The model chip beside Generate sets the model for the next prompt. Each option carries an estimated cost per typical prompt, written like ≈1.20 cr / typical prompt, so you can see the difference before you spend it. Bigger models are more capable and burn credits faster — see how credits work.

Your choice sticks for that project until you change it, remembered in your browser — another device starts from the default.

The figure on the chip is an estimate from an average run, not a quote. What you pay comes from the tokens the run actually used.

Web or mobile?

Once a project has a mobile app, a target chip appears in the composer. On Auto it follows the panel you are looking at and shows where the prompt will land — Auto · Web or Auto · Mobile. Click it to force Web or Mobile for this prompt only; it resets after you send.

Naming a side in the prompt itself always wins over the chip. Server work — API routes, database queries — always happens on the web side, and the mobile app calls it.

The AI remembers your project

You do not have to re-explain your project on every prompt. Each one carries a summary of what the project is, what was decided earlier, and the most recent requests with the files they touched.

So this works on its own:

Use the same card style we used on the dashboard.

Asking directly works too — "what have we built so far?" — answered from that memory, not by re-reading everything.

Your language

The AI replies in the language you wrote the prompt in: write in Indonesian and you get Indonesian back, in the chat and in its questions. The interface language — the EN / ID switch in your account menu — is a separate setting and does not change this.

Iterating

Small follow-ups beat one giant prompt: read the result, then send the next change.

  • Not what you meant? Send a follow-up naming exactly what to change. A narrow fix is usually faster than re-running the whole request.
  • The run failed? Retry re-runs the same prompt. It is a new execution and is charged again, so it suits a run that died on infrastructure, not a result you disagree with.
  • Need files as input? Attach spreadsheets, PDFs, images or data with Attach file — see attaching files.
  • Hitting an error? Paste the message in backticks and say where it happened. The AI reads a quoted error as a report and goes looking for the cause; it will not just reword the message. It also skips the planning step for a prompt like that, so the fix starts immediately. You no longer need to hunt down the log to go with it: when your message says something is still not working, the recent server output is attached for you — see understanding AI runs.

Limits & notes

  • A prompt is capped at 16 KB; the composer stops you there. Split anything longer into steps.
  • Ask first questions expire after 10 minutes without an answer.
  • Retrying costs full price every time — a fresh execution, not a discount.
  • The AI cannot browse the open web from the build environment. It installs packages and reads your project, but cannot fetch a live page — paste in the content you want it to use.
  • Limits may change during alpha.