Skip to main content
A Rork web project: the chat on the left and the finished Ember Roast website in the live preview on the right

One prompt, one project: the chat on the left, the running site on the right.

A Rork web app runs in the browser. Rork writes it with Vite and React, previews it next to the chat, and publishes it to your own address on rork.app. There is no app store, no review, and no install. You share a link, and people open it on a laptop or on a phone. Web is the right platform for a website, a dashboard, a client portal, an admin tool, or a SaaS product. It is also the fastest way to put something in front of people today. See what it builds on the Rork Web page.

Start a web app

Pick the platform before you send your first message. On rork.com, open the platform picker under the prompt box and choose For web. Then describe the product, not the technology.
The Rork prompt box with a coffee roastery prompt typed in and the platform set to For web

The prompt box with For web selected. The picker also offers For iPhone and For Android.

The picker says it plainly: you can add another platform later. One project can hold an iPhone app, an Android app, and a web app at the same time. See Convert your app between iOS, Android, and web.

Answer the questions about the look

Rork does not start writing code straight away. It asks a few short questions about the look first, and each answer is a picture, not a word. You can also type your own answer in Other.
Rork asking what overall look the site should have, with four palette options to choose from

Three questions about the look. Each answer shows the palette it stands for.

Answer all three, then press Submit. Skip this step by writing the look into your first prompt instead.

Approve the design, then build

Next Rork draws the screens and shows them in Design mode. Nothing is built yet, so this is the cheap moment to change your mind. Ask for a different screen in chat, or press Build to turn the design into a working site.
Design mode showing three proposed screens for Ember Roast and a Review design card with View Design and Build buttons

Design mode: the proposed screens on the right, and the Review design card with the Build button on the left.

Work in the project

The project has the chat on the left and a live preview on the right. The preview is the real app, not a picture, so you can click through it while you build. The controls above the preview do this:
Use Select an element for your prompt instead of describing a position in words. Point at the element, then say “make this button darker”. The agent gets the exact element and changes less around it.

Check the phone width

A web app has to work in a phone browser as well as on a laptop. Press Switch preview size until it reads Phone. Rork draws the site inside a phone frame, so you read the same pages at the width your visitors get.
The Ember Roast site in the Phone preview size, drawn inside a phone frame next to the chat

The same site at the Phone preview size.

Then ask for the fixes you need:

Publish to the web

Open Publish, then press Publish to web. Rork builds the app and hosts it at your own address on rork.app.
The Rork publish panel showing ember-roast-website.rork.app, a Site offline status, a disabled Add a custom domain row, and the Publish to web button

The publish panel before the first publish: the address, the site status, and the custom domain row.

What the panel shows:
  • The address. Rork picks one from the project name, like ember-roast-website.rork.app. Press the pencil to change the subdomain.
  • The status. It reads Site offline until you publish for the first time.
  • Add a custom domain. This row stays off until the first publish. The panel says so: “Publish the project first to add a custom domain.”
Publishing is a separate step from building. Your changes stay in the preview until you publish again. When the live site is behind your project, the panel reads An older version is live and the button reads Publish latest version. After the first publish the panel changes: the status reads Live, it tells you when the version went out, and Unpublish takes the site down again. Unpublish asks you to confirm first, because every address on the site stops serving it right away.
The publish panel showing the rork.app address with a Live status, an active Add a custom domain row, and Published and Unpublish buttons

The same panel after publishing. Add a custom domain is now active.

Domains

A rork.app address is fine for testing, but a real product wants a real name. Domains live on your account, and one panel manages them. You reach it from two places:
  • Account Settings → Domains, for every domain you own, from any page.
  • Publish → Add a custom domain, inside a project. The same panel opens in a dialog called Custom domains, and what you set up there connects to this project on its own.

The domains list

Open the account menu, then Account settings → Domains. Every domain on your account is listed here with each of its addresses underneath.
The Domains tab of Rork account settings, showing the Add a new domain card and a connected domain with two addresses marked Live and In use by a project

Account Settings, Domains: the Add domain button on top, then each domain with its addresses and their status.

Each address row shows its status, which project it serves, and two icons: a chevron that unfolds Setup and status, and either Disconnect for an address that serves a project or Remove address for a free one. Add a subdomain adds another address on the same domain, and reads Add more subdomains once the domain has one. The bin on the domain’s own row is Remove domain.
Rork never changes or deletes anything at your domain provider. Disconnecting or removing an address only changes what Rork serves.

Buy a new domain, or connect one you own

Press Add domain. Rork hands this step to Entri, its domain partner, which does the technical setup for you. The first screen is the fork:
The Entri dialog titled Add a domain to Rork, offering Buy a new domain and Connect a domain

Add a domain to Rork: buy a new one, or connect a domain you already own.

Buying goes through Entri, not through your Rork credits, and a domain is a yearly cost like any other registration.
Either way the domain lands in the list above. Its addresses start as Available, or go straight through Securing and Propagating while Rork finishes the setup.

Point a project at an address

The domain is on the account, but no app answers on it yet. That link is made in the project.
1

Publish the project once

The custom domain row stays off until you do. Before the first publish the panel says “Publish the project first to add a custom domain.”
2

Open Add a custom domain

In the project, open Publish, then press Add a custom domain. The Custom domains dialog opens with your account’s domains and the addresses that serve this project.
The Custom domains dialog with an Add a new domain card, a domain with two addresses marked Live and In use by this project, and the Setup and status panel showing Certificate, DNS, and Traffic checks

The Custom domains dialog inside a project, with Setup and status unfolded for one address.

3

Connect an address

Two ways, depending on where the address is:
  • The address is already on your account. Its row reads Available. Press Connect to this project on that row.
  • You need a new domain or a new subdomain. Press Add domain, or Add a subdomain on a domain you have. Set up from inside the project, the new address connects on its own. Its row reads Connecting while that happens.
4

Close the dialog

The address now sits under the rork.app row in the Publish panel, with its status underneath. The gear on the row opens its Setup and status, and the last row now reads Add more custom domains.
The publish panel showing the rork.app address and two custom addresses all marked Live, an Add more custom domains row, the note An older version is live, and Publish latest version and Unpublish buttons

The Publish panel with two custom addresses live. This project also has a newer version waiting to go out.

One address serves one project. An address that another project already uses reads In use by that project, and has no Connect to this project button. To move it, press Disconnect on that address in the domains list first, or add a subdomain instead. Only the person who created the project can connect a domain to it. Collaborators see the panel, with a note that says so.

Add a web app to a project you already have

Watch a finance tracker gain a web version and switch between the web and mobile previews. Any mobile project can grow a web version. Open Project Settings → Add new app → Web, use the platform switcher above the preview, or just ask:
Each app keeps its own code. They share the chat, and the backend if you have one. A common split is a mobile app for customers and a web app as the admin dashboard.

What a web app cannot do

A web app runs inside the browser, so the deeply native features are out of reach:
  • No App Store or Google Play distribution
  • No home screen or lock screen widgets, no Live Activities, no Dynamic Island
  • No Apple Watch app and no Apple Health integration
  • No background tracking, and no advanced motion or body tracking
  • Push notifications are limited. On iPhone and iPad the user must add the site to the Home Screen first, on iOS 16.4 or later, and then grant permission
If your product needs any of those, build the native app and keep the web app beside it. See iPhone, Android, or web: what’s the difference.

FAQ

A real Vite and React project in TypeScript, styled with Tailwind. You can export it to GitHub and run it anywhere. See How to connect GitHub.
Yes. Write the look into your first prompt, and the agent has less to ask. In Design mode you can also press Build straight away.
Yes. Use Rork Cloud for a backend inside Rork, or connect Supabase or Firebase. The apps in one project can share the same backend.
Yes, and you can buy one inside Rork if you do not have it yet. Publish to the rork.app address first, then see Domains.
No. An address belongs to one project. The domains list marks an address that is already taken as In use by that project. Disconnect it there first, or add a subdomain for the second project.
No. Rork imports it. See Lovable to mobile app, and keep the web app in the same project.

Next steps

iPhone apps

The matching Swift guide, from the first prompt to the App Store.

iPhone, Android, or web

What each platform is good at, and how to choose.

Add another platform

Grow the project into iOS and Android from the same chat.

Add a backend

Accounts, data, and files for your web app.

Website to mobile app

Turn an existing site into a native app.

Rork Web

The product page, with examples of what Rork builds for the browser.