> ## Documentation Index
> Fetch the complete documentation index at: https://docs.alpha.new/llms.txt
> Use this file to discover all available pages before exploring further.

# Build your first app

> Go from one prompt to a running, published app in about 10 minutes.

About 10 minutes

This guide walks you through one full pass of Alpha: describe an app, watch the agent build it, change it by pointing at it, and publish it. You don't write any code. If you'd rather understand the moving parts first, read [How Alpha works](https://docs.alpha.new/get-started/how-alpha-works.md).

By the end of this guide you will have a booking page for a sailing school, live at its own `https://` address.

## Before you start

* An Alpha account. Open [https://alpha.new](https://alpha.new) and sign in, or see [Your account](https://docs.alpha.new/account/your-account.md).
* Nothing to install. Every session gets its own machine in the cloud, so a browser is all you need.
* No GitHub. This app lives in the session; you can [connect GitHub](https://docs.alpha.new/github/connect.md) later.

> [!WARNING]
>
> Keep API keys out of your messages. Anything you type in the composer lands in the transcript. Save keys as [secrets](https://docs.alpha.new/secrets.md) instead, and the agent gets them as environment variables.

## Build and publish the app

**1. Sign in and open the home screen**

After you sign in, Alpha opens on the [home screen](https://docs.alpha.new/sessions/home-screen.md): a greeting, the composer and a row of suggestion chips. There is no session yet. Your first message creates one.

![The Alpha home screen with the sidebar collapsed to a menu button at the top left. The Alpha by Lyzr lockup sits above the greeting Still up, Alex? Same. What are we building?, its second half in a blue-to-pink gradient, with a glowing horizon curving behind the composer. The composer holds the Harbor prompt, which starts Build a class-booking web app for Harbor Sailing School. Its bottom row shows, from the left, the paperclip, the agent chip reading codex, the model chip reading gpt-6.1-sol · high and the plan chip, then the setup chip reading blank machine, the repos chip, the microphone and the white round send button. Below the composer are seven suggestion chips: Apps, Agents, Decks & docs, Images & video, Data, Automations and Research.](https://mintcdn.com/lyzr-15a99e0f/ObBpayiae_4aNgzN/images/get-started/quickstart-01-home.png?fit=max\&auto=format\&n=ObBpayiae_4aNgzN\&q=85\&s=7427da05ba33b78cd6ac96d9a4e1a187)

The home screen, with the Harbor prompt typed and ready to send.

**2. Describe the app**

Paste this prompt into the composer and press <kbd>Enter</kbd>. It names an outcome and how to check it; [Prompt Alpha well](https://docs.alpha.new/get-started/prompting.md) explains why that matters.

Try this

```text theme={"system"}
Build a class-booking web app for Harbor Sailing School.
Show this week's classes (Beginner Dinghy, Intermediate Keelboat, Sunset Sail) as cards with the day, time, instructor and seats left, each with a Book button.
Booking asks for a name and email, takes one seat and shows a confirmation.
Keep the data in memory for now.
When it works, start it so I can see it in the Preview, and check that booking a class lowers its seats-left count.
```

Alpha will:

1. Start a fresh machine for the session, usually in about a second.
2. Write the app in the machine's `/workspace` folder.
3. Start it on a port and check that booking works.
4. Open the Preview beside the chat.

**3. Watch it work**

Your message appears at once, with a status line under it: "Starting a fresh machine…", then "Handing your prompt to the agent…". A seconds counter appears after three seconds. Once the agent has your prompt, the line shows a working word such as "Striking while hot…". [What happens when you start a session](https://docs.alpha.new/sessions/start-a-session.md) covers each phase.

![A new session a few seconds after its first message, with the sidebar collapsed. The header shows the title Harbor Sailing Classes and a pill with the Codex mark reading codex, and at its right the round +, GitHub and Share buttons and the lit files button. There is no workspace panel. The files panel is open along the right edge, headed /workspace with Refresh and Hide buttons, and reads workspace is empty. At the top of the chat, the prompt asking for a class-booking web app for Harbor Sailing School sits in a bubble. Below it, the agent's first message reads I'll build the weekly class list and booking form, keep availability in server memory, and check that a booking reduces the seat count. I'm using the design-system and landing-page-design skills for the interface. Under it, a folded row with two small round icons reads 3 commands, and a three-by-three pixel loader sits beside Striking while hot… and a 4s counter. The composer at the bottom shows the placeholder Add a follow-up, the + button, the model chip reading gpt-6.1-sol · high, the plan chip, the microphone and a round Stop button with a dark square.](https://mintcdn.com/lyzr-15a99e0f/ObBpayiae_4aNgzN/images/get-started/quickstart-02-starting.png?fit=max\&auto=format\&n=ObBpayiae_4aNgzN\&q=85\&s=5d1641fc4cc55c27eca439e829624425)

A few seconds in: the agent has your prompt, and the working line shows it's still going.

The agent's commands, file edits and thoughts fold into one line with a tally. Click its chevron to see each one, as described in [Follow the agent's work](https://docs.alpha.new/chat/transcript.md). When the app serves a page, the **Preview** tab opens by itself.

**4. Check it at phone width**

In the Preview toolbar, choose the phone icon, **Mobile · 390px**. The frame narrows in place. If the device switch is hidden, drag the divider to widen the workspace. [Preview your app](https://docs.alpha.new/workspace/preview.md) covers the rest of the toolbar.

![The Preview tab with its toolbar: the Mobile device icon is highlighted, the port pill reads node · 3000, and Draw, Select and Open in new tab sit at the right. The Harbor Sailing School app sits in a narrow, rounded frame centred on the dark workspace. At this width the header holds only the Harbor Sailing School logo and a My bookings button, without the Our classes and Before you sail links. Under the line A little adventure is on the horizon, the headline Good days start on the water. spans the frame, followed by Find your first tack or your next adventure. There's a place on board for you. and Small crews. Fresh air. A new perspective. The sailboat photo, with its Meet you at the harbor. label and a round LESS LAND MORE SEA badge at the corner, sits below the text instead of beside it. Under the photo come the MAKE ROOM FOR THE SEA label, the This week's classes heading with its count of 3, and the date pill Oct 26 – Nov 1, 2026 · This week.](https://mintcdn.com/lyzr-15a99e0f/ObBpayiae_4aNgzN/images/workspace/preview-mobile.png?fit=max\&auto=format\&n=ObBpayiae_4aNgzN\&q=85\&s=908c98b1c59047a21b869fc0016e11b0)

Mobile narrows the frame, and the app's phone layout takes over.

**5. Point at something to change**

Click **Select** in the Preview toolbar, then click the description on the **Beginner Dinghy** card. The element becomes a chip in the composer, showing its tag and its first words, so the agent knows exactly which element you mean. Type `Make this text larger on mobile` and press <kbd>Enter</kbd>. Press <kbd>Esc</kbd> to cancel a pick. [Point at and draw on your app](https://docs.alpha.new/workspace/point-and-draw.md) shows the other ways to point.

![The Harbor bookings session with the Preview on the right, showing the Harbor Sailing School app at desktop width, under a tab strip that reads Plan, Preview, Shell, Database, Secrets, README.md and server.js. The chat on the left shows the answered The agent has questions card and the Proposed plan card for Automatic class waitlist. In the composer, a chip above the text reads p and the quoted start of the paragraph, Find your balance, catch t…, with an X to remove it, and the typed message reads Make this text larger on mobile, with the white send button at the right. The paragraph the chip names, Find your balance, catch the breeze, and learn the sailing essentials., is the description on the Beginner Dinghy card.](https://mintcdn.com/lyzr-15a99e0f/ObBpayiae_4aNgzN/images/get-started/quickstart-04-select.png?fit=max\&auto=format\&n=ObBpayiae_4aNgzN\&q=85\&s=f336b1de82c976966da84bcdd0111acd)

The picked paragraph waits in the composer as a chip, above your request.

**6. Send a follow-up while it works**

While the agent works, <kbd>Enter</kbd> **queues** your message: it runs as its own turn after the current one. <kbd>⌘ Enter</kbd> (Ctrl on Windows and Linux) **steers** instead: the message joins the running turn without stopping it. Try queueing `Show a "Full" label on classes with no seats left.` To swap which key does which, open **Account menu → Settings → New messages**. [Queue, steer or stop](https://docs.alpha.new/chat/queue-and-steer.md) has the details.

**7. Publish the app**

Wait for the agent to finish, then click **Publish** at the right of the workspace tabs. The **Publish to production** popover shows what will go live: **Serves**, **Database**, **Sign-in** and **Access**. Click **Publish**, which sends "Deploy this." to the agent.

![The Publish to production popover open below the Publish pill at the top right of the workspace, which follows the server.js tab, the + button and the GitHub and Share icons. A grey line under the title reads Google Cloud Run · us-east1. Four rows follow: Serves, node · 3000 in monospace; Database, its own, in production; Sign-in, off; Access, Public · anyone with the URL. A grey note reads The agent names it (the name is its address), builds it from source and publishes it; the Publish tab follows the rollout. Cancel and a white Publish button with a rocket icon sit at the bottom right. Behind the popover, code from server.js shows at the left and the files panel, with the public folder open, at the right.](https://mintcdn.com/lyzr-15a99e0f/ObBpayiae_4aNgzN/images/get-started/quickstart-05-publish.png?fit=max\&auto=format\&n=ObBpayiae_4aNgzN\&q=85\&s=c750d5bce6844fc254ccfd83ad5af429)

The Publish to production popover, before anything is sent.

> [!NOTE]
>
> If you don't see **Publish** beside **Share**, publishing isn't turned on for your Alpha.

**8. Name it and open the address**

The agent asks for a name in a [question card](https://docs.alpha.new/chat/plan-mode.md). Pick its suggestion or type your own, such as `harbor-bookings`. The name is the start of the app's address, so it can't be changed later. The **Publish** tab opens and follows the rollout through **Export**, **Plan**, **Build**, **Publish** and **Live**. This usually takes 2 to 6 minutes. When the version card shows **Published**, click **Open** on the **Published URL** card.

> [!TIP]
>
> Your app is live. Anyone with the address can open it, and it keeps running when your session sleeps.

## What happens when you close the tab?

The work carries on. Turns run on Alpha's servers, not in your browser, so the transcript is complete when you return. Once no Alpha tab of yours has been visible for about 30 minutes, a session with nothing running goes to sleep. Opening it wakes it with every file and process as you left them. Your published app runs outside the session's machine, so it stays up either way. See [Sleep, wake and reset](https://docs.alpha.new/sessions/machines.md).

You have done the core Alpha loop: describe, watch, point, publish.

## Next steps

> **[Add a database and sign-in](https://docs.alpha.new/guides/data-app.md)**
>
> Keep Harbor's bookings across restarts and let students sign in, then take both to production.

> **[How Alpha works](https://docs.alpha.new/get-started/how-alpha-works.md)**
>
> Sessions, machines, turns and the workspace, and how they fit together.

> **[The composer](https://docs.alpha.new/chat/composer.md)**
>
> Attach files, mention them with @, pick a model and use slash commands.

> **[Publish your app](https://docs.alpha.new/publish/publish-your-app.md)**
>
> What can be published, the rules for names, and what to do when a build fails.


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.