Draftbit builds mobile apps with AI coding agents and a visual editor, and gives you a standard Expo and React Native project. Luna Park builds full-stack web apps visually, compiled to Vue and Node.js, and exports them as mobile and desktop apps too.

- **Visual logic.** Interface and backend logic built as graphs.
- **Backend included.** Routes, crons, and PostgreSQL, built visually.
- **Every platform.** Web, PWA, desktop, Android, and iOS from one project.

![Sunset Park in the Luna Park editor](https://luna-park.app/static/assets/builder-DAXbtfYB.png "Sunset Park, a demo site built with Luna Park.")


## At a glance

Both export standard code and build mobile apps. The main differences: main platform, logic, and backend.

| | Luna Park | Draftbit |
|---|---|---|
| **Main target** | Web, then desktop and mobile | Mobile, then web |
| **How you build** | Visual editor, with an AI assistant | AI agents and a visual editor |
| **Logic** | [+Visual] Graphs, compiled to JavaScript | [~In code] Written by agents or by hand ([source](https://draftbit.com/faq/)) |
| **Backend** | [+Built-in] Routes, crons, PostgreSQL | [~Supabase or your API] ([source](https://draftbit.com/faq/)) |
| **Code export** | [+Vue + Node.js source] (Pro) | [+Expo project] Paid plans ([source](https://draftbit.com/pricing)) |
| **Pricing** | Free, or Pro at €25/month or €300 once | Free, then seats + AI credits ([source](https://draftbit.com/pricing)) |
| **Platforms** | [=Web] [=PWA] [=Desktop] [=Android] [=iOS] | [=Android] [=iOS] [=Web] |

## Example: a waitlist form

Visitors enter their name, email, and favorite ride, and get a ticket number.

::: columns
### Luna Park

1. Place the fields and a button, each field bound to a variable.
2. On click, a graph sends the variables to a backend route and shows the ticket.
3. The route inserts a row in the `Waitlist` table and returns its id.

---

### Draftbit

1. Enable the Supabase backend, or connect your own API.
2. Ask the agent for a screen with the inputs.
3. Have it create the table and the insert call.
4. Show the returned ticket number on a confirmation screen.
:::

::: gallery
![The click logic of the waitlist form](https://luna-park.app/static/assets/logic-C66duI84.png "On click: read the fields, call the route, show the ticket.")

![The Join Waitlist backend route](https://luna-park.app/static/assets/route-DQo3hM8a.png "The route: receive the body, insert a row, return its id.")
:::

## Code export

Both give you standard code: an Expo project for Draftbit, a Vue and Node.js application for Luna Park. In Luna Park, the logic stays visual; in Draftbit, it is code.

![The waitlist component compiled to Vue](https://luna-park.app/static/assets/code-BUYWx0sG.png "The waitlist, compiled to Vue and TypeScript.")

## Other differences

- **Logic.** Draftbit's visual editor covers the interface, while logic and data stay in code. In Luna Park, [graphs](/docs/visual-scripting/introduction) cover the logic, front and back.
- **Backend.** Luna Park [routes](/docs/backend-data/routes), [crons](/docs/backend-data/cron), and [PostgreSQL](/docs/backend-data/database) are part of the project.
- **Mobile.** Draftbit apps are native React Native. Luna Park's [mobile apps](/docs/deployment/mobile) run the web frontend in a native shell.

## Which one to choose?

::: columns
### Luna Park

- Your product is a web app first.
- You want visual logic, not code.
- You want the backend in the same tool.

---

### Draftbit

- Your product is a native mobile app first.
- You are comfortable with React Native code.
- You already have a Supabase or API backend.
:::

## Before switching

- Native builds need the [desktop app](/docs/getting-started/desktop-app) and a Pro or Edu license.
- Until [managed hosting](/pricing) launches in late 2026, you [host the backend](/docs/deployment/deployment).

::: info
Based on Draftbit as of October 2026. See [draftbit.com](https://draftbit.com) for current features and prices.
:::
