Skip to main content
Before you dive into building, it helps to understand the mental model that Rey is built on. Every feature in Rey maps to one of a small set of core concepts. Learn these once and everything else — from wiring up a button to publishing to the App Store — will click into place immediately.

Canvas

The canvas is the visual editing surface where you design your app’s screens. It works like a design tool — you drag components from the library onto the canvas, arrange them into layouts, and customize their appearance using the property panel on the right. The canvas renders your app at real device sizes, so what you design is what your users will see. When you need to try the app end-to-end — with taps, scrolls, and live data — use Preview.

Component

A component is a reusable UI building block that you place on the canvas to compose a screen. You add components from the + button in the bottom-right of the canvas. Rey ships with a full library of components out of the box, organized into categories like:
  • Screen — the container for a full page in your app
  • Layout — stacks, groups, and other containers for arranging children
  • Text — headings, body copy, labels
  • Button — tappable actions in any style
  • Image — static or data-bound images
  • More — inputs, lists, players, and everything else
Every component exposes a set of properties (content, style, layout, and logic) that you configure in the property panel. Components can also be data-bound, meaning their content updates automatically when the underlying data changes.

Screen

A screen is a single, full-page view in your app — the equivalent of a page in a website or an activity in native mobile development. Common examples include a Home screen, a Profile screen, a Detail screen, and a Settings screen. Screens live in the Objects tab of the Design panel, alongside every object they contain. You can add, rename, reorder, and delete screens at any time. Navigation between screens is handled by actions (see Action below), and you can pass data from one screen to another using screen parameters.

Table

A table is Rey’s built-in database concept. Think of it as a spreadsheet that lives inside your project: it has named fields with defined types (Text, Rich text, Date, True/false, Multiple choice, Number, Image, Audio, or a Relation to another table), and each entry is a record your app can read, create, update, or delete. Tables are created and managed in the Data panel, which opens from the database icon in the top toolbar. You bind a table to a component — such as a List — by selecting it as the component’s data source. When a user creates a new entry through your app (by submitting a form, for example), Rey writes a new entry to the table automatically.

Logic

Logic is what makes your app interactive. In Rey, logic attached to a component is made up of two things:
  • Actions — the individual steps Rey runs (e.g., save a row, navigate, show an alert).
  • Rules — optional conditional if/then/else branches that decide when actions run.
You open the Logic panel from any component to add actions and apply rules.

Action

An action is a single step that Rey executes in response to a user event. Actions are the atomic units of interactivity in Rey. Each action does exactly one thing, such as:
  • Go to screen — send the user to another screen (or back), optionally passing parameters
  • Play audio — play an audio file or a track from an entry
  • Show paywall — prompt the user to subscribe or purchase
  • Show flash message — display a brief toast confirmation
  • Open link — launch an external URL or deep link
  • Set user variable — save a value that persists for the signed-in user
  • Show review prompt — ask the user to rate your app
  • Show notifications prompt — request push notification permission
Actions run in response to a trigger (such as a button tap, screen load, or form submit). See Logic for the full list. You configure them visually — no code required.

Rule

A rule is a set of conditions that determines whether an action runs. Rules use a familiar If / Then / Else structure: define a condition (for example, “the email field is not empty”), then choose what happens when the condition is met and, optionally, what happens when it is not. You can add multiple branches for more complex logic. Open Apply rules from the Logic panel to build conditional flows without code.

Rey AI

Rey AI is Rey’s built-in agent that understands natural language and turns your descriptions into working app elements. You can use it to:
  • Generate a screen — describe a layout in plain English and Rey AI places fully styled components on the canvas
  • Create a table — describe the data your app needs and Rey AI defines the columns and types for you
  • Write copy — ask Rey AI to draft placeholder text, labels, or onboarding messaging
The agent works inside your project context, so it knows about your existing screens and tables and can make suggestions that fit your app’s structure. Everything it generates is fully editable on the canvas the moment it appears.
The more specific your prompt, the better the output. Instead of “a profile screen,” try “a user profile screen with an avatar, display name, bio, follower count, and an edit profile button.” You’ll get a result much closer to what you had in mind.

Preview

Preview is Rey’s real-time testing mode. Click the play icon in the top toolbar to open the Preview panel, which offers two ways to try your app before publishing:
  • Web preview — see your app running in the browser next to the canvas, auto-refreshed on every save
  • Device preview — sign in to the Rey app on your iOS or Android device and open your project to run it on a real phone
Both keep updating in real time as you edit. See Preview for the full breakdown of web preview, device preview, and TestFlight.

Edit mode and Live mode

Every Rey project has two modes you can switch between using the toggle in the top toolbar. They control which version of your app you’re looking at and which data it reads and writes.
  • Edit mode — a sandbox for building. You design freely against mock data without affecting anything real users see. Changes only reach real users after you publish.
  • Live mode — the published version of your app running against real user data. Use it to preview what your users see today and manage the data and settings that power the live experience.
Newly created projects always start in Edit mode. Live mode becomes meaningful once you’ve published — see Edit and Live Mode for the full breakdown.

Publishing

Publishing is the process of packaging your finished app and making it available to users. Rey supports three publishing targets:
  • App Store (iOS) — Rey builds the app binary and guides you through the App Store Connect submission process
  • Google Play (Android) — Rey generates the APK or AAB and walks you through the Google Play Console submission steps
  • Web — Rey deploys your app to a hosted URL with a single click; you can also connect a custom domain
Rey manages the build process entirely, so you never need to touch Xcode, Android Studio, or a command line. Once submitted, you can track your app’s review status directly from the Rey dashboard.