Skip to content
dhanu docs
Browse pages

Tasks

Building and changing an app

Ask in chat, or point straight at the thing you want changed — select an element, edit text in place, draw on the preview, leave a comment, or highlight lines of code — and the assistant works from what you pointed at.

Every change to an app goes through the conversation. What varies is how precisely you can say which thing you mean — and the preview lets you point at it rather than describe it.

Asking

Describe behaviour, not implementation. “A form that collects name, phone and plan, then shows a monthly cost” is a specification the assistant can build against; “use React state for the plan” is not your problem.

The first version arrives already reviewed: after building an app, the assistant renders it, looks at the screenshot and the runtime errors, and fixes what is visibly wrong before handing it over.

Pointing at things in the preview

The toolbar along the bottom of the preview has four modes. Each one attaches a reference to your next message, so you can say “make this bigger” and the assistant knows exactly what this is.

ModeWhat it does
SelectClick any element — a button, a heading, an image — to pin it. Pin several and the count shows in the toolbar
Edit textType directly into the app. The visible text snaps back and your edit is sent as “change this from X to Y”
AnnotateDraw freehand on the preview. Undo, redo and clear are in the toolbar; the drawing goes with your message
CommentDrop a note on a specific element — the element and the note travel together

Editing text in the preview does not save the app on its own. It is a way of saying what you want; the assistant makes the change in the code.

Pointing at code

In the Code view, select a range of lines and send it into the chat as a reference. Useful when something is wrong in a place the preview cannot show — a calculation, a condition, an import.

The code view is read-only by design: it is there to be read, copied and downloaded, not typed into.

Checking it on other screen sizes

The preview toolbar has back, forward and refresh, a path box for jumping to a route inside the app, and a device switch:

PresetSize
DesktopFills the pane
Tablet820 × 1180
Mobile393 × 852

Once the app is published there is also a button to open the live version.

When something breaks

The console. Open it from the preview toolbar to see the app’s own logs, warnings and errors as it runs.

Automatic fixing. If a change leaves the app failing to build or throwing errors on load, Dhanu sends the error back into the conversation by itself and tries again — up to two attempts per message. After that a Fix with dhanu button stays on screen so you can trigger it yourself.

Build errors never reach you silently. Every write the assistant makes is compiled on the server, and a failure comes back to it as an error to fix before the turn ends.

Test build. In Settings → General you can compile the app on demand and see whether it passes. Worth doing before you publish.

What limits a change

LimitValue
Files in an app40
Size of one file100 KB
Total size1 MB
PackagesA vetted list only — anything else is blocked at build time

Hitting a limit is a signal to split the idea, not to fight it: a smaller app that does one thing well beats one that has grown past what fits.

Working with it well

Change one thing at a time. Apps are edited file by file. A narrow request gets a narrow, reviewable change; “make it all better” gets a rewrite.

Point instead of describing. “Fix the alignment of this” with the element selected beats three sentences locating it.

Say when something needs to persist. “Entries should still be there tomorrow” is the sentence that turns a page into an app with saved data.

Look at the app, not the code. Click through it. Most problems are visible in ten seconds of use and invisible in a diff.