Using the AI Builder
The AI Builder is your AI assistant for creating and modifying your app. Instead of writing database commands, you describe what you want in plain language and the AI proposes the changes for your review.
Selecting an app
Section titled “Selecting an app”All tables, views, and pages are scoped to the active app. You can switch apps at any time using the app switcher or create a new one — see Managing Apps for details.
Opening the AI Builder
Section titled “Opening the AI Builder”Click AI Builder in the sidebar to open the chat panel. Each conversation is saved automatically, so you can pick up where you left off.
Planning your app
Section titled “Planning your app”Not sure where to start? Click Plan an app or tell the AI you want to build something new. The AI works in capability slices — small, self-contained features you can see and use right away.
Here’s how it works:
- Describe your app — tell the AI what you’re building. It will identify the most important feature to start with and ask 1-2 quick questions to confirm.
- Confirm the first slice — once you agree on the starting point, the AI builds everything for that slice automatically: tables, sample data, and any pages or views it needs.
- Pick the next feature — after each slice is built, the AI suggests 2-3 logical next capabilities. Choose one, ask for something different, or say you’re done.
For example, if you say “I want to build a project tracker,” the AI might start with the core issues table, add sample data, and create a dashboard — then suggest adding milestones, labels, or comments as the next slice.
If you already know exactly what you need, you can skip the back-and-forth by providing the details upfront:
“I need to track orders, customers, and products — orders have a status and total, each order belongs to a customer”
The AI will recognize there’s enough detail and start building immediately.
Creating tables
Section titled “Creating tables”Tell the AI what kind of data you want to track. For example:
“I need to track customers with a name, email, and phone number”
The AI will propose a table with the columns it thinks you need. You’ll see an interactive card showing the proposed table — not just a text response.
Reviewing a proposal
Section titled “Reviewing a proposal”When the AI proposes a new table, a schema widget appears showing:
- The table name
- Each column with its name and type
- Which columns are required
You can:
- Edit any column — rename it, pick a type from the grouped dropdown (Text, Number, Date/Time, Other), or toggle whether it’s required
- Remove a column you don’t need
- Add a column the AI missed
- Approve to create the table
- Reject to cancel and ask for something different
The table is only created when you click Approve. Nothing changes until you confirm.
After approval
Section titled “After approval”Once you approve, the table is created instantly. You’ll see it appear in the sidebar with full list and detail views ready to use — you can start adding data right away.
Modifying existing tables
Section titled “Modifying existing tables”Need to change a table after it’s been created? Just ask:
“Add a ‘status’ column to the customers table”
“Rename the ‘phone’ column to ‘phone_number’ in customers”
“Remove the ‘fax’ column from customers”
The AI supports four kinds of changes:
| Change | What it does |
|---|---|
| Add column | Adds a new column to the table |
| Remove column | Drops a column and its data |
| Rename column | Changes a column’s name (keeps the data) |
| Change type | Changes a column’s type (e.g., text to email, integer to currency) |
Like creating tables, every modification is proposed first and only applied after you approve.
Configuring FK display columns
Section titled “Configuring FK display columns”When one table references another (e.g., orders reference customers), the form shows a dropdown to pick the related record. By default, the dropdown shows the most likely label column (like name or email). You can change which columns appear:
“Show email instead of name in the customers dropdown”
“Display both name and phone for the contacts FK”
The AI proposes a set of columns with checkboxes. You can toggle columns on or off before approving.
Dropping tables
Section titled “Dropping tables”If you no longer need a table, ask the AI to remove it:
“Drop the old_products table”
The AI shows a confirmation card with a destructive warning — the table, all its data, and its metadata will be permanently deleted. Click Drop Table to confirm or Cancel to keep it.
If other tables have foreign keys referencing the table you’re trying to drop, the operation will fail. You’ll need to drop or alter the dependent tables first.
Asking questions about your data
Section titled “Asking questions about your data”The AI can look up data in your tables to answer questions. For example:
“How many customers do I have?”
“What are the most recent orders?”
“Is there a customer named John?”
The AI runs a query behind the scenes and answers in plain language — you don’t need to know SQL. If you want to see the data in a table, the AI can create a view or report page instead.
Updating and deleting rows
Section titled “Updating and deleting rows”The AI can make bulk changes to your data:
“Set all orders with status ‘draft’ to ‘published’”
“Delete all cancelled orders”
These tools show the conditions (WHERE) and changes (SET) in a review card before executing. After execution, you’ll see the number of affected rows and a preview of the changed data.
For normal single-row editing, use the CRUD UI instead — these tools are for AI-driven bulk operations.
Creating custom views
Section titled “Creating custom views”Views are read-only SQL queries saved as virtual tables (see Building Blocks for the concept). They’re useful for dashboards, filtered lists, and any data that combines multiple tables into a flat display. For example:
“Create a view that shows each order with the customer name and total”
“Make a monthly revenue summary view”
The AI proposes a view widget showing the view name (editable) and the SQL query (read-only). You can rename the view before approving, but the SQL itself is authored by the AI.
Once approved, the view appears in the Views section of the sidebar and works like any other table in the CRUD UI — but it’s read-only.
Dropping views
Section titled “Dropping views”Ask the AI to remove a view you no longer need:
“Drop the monthly_revenue view”
The AI shows a confirmation card with a destructive warning. Only views created through the AI Builder can be dropped.
Creating reports
Section titled “Creating reports”Reports are custom pages that display data with grouped or nested layouts — for example, orders grouped by customer with line item details under each order. Unlike views (which show flat tables), reports use visual grouping to make related data easier to read.
“Create a report showing orders with their line items”
“Show me a breakdown of sales by region”
The AI works in two phases when creating a report:
- Data first — the AI proposes a query or view so you can validate the data is correct (right columns, right joins, right filters).
- Presentation second — once the data looks right, the AI creates a page with the appropriate grouped/nested layout.
This gives you natural control: you can say “I like the data but show it differently” or “use my existing view but render it as a report.”
When to use views vs reports
Section titled “When to use views vs reports”See Building Blocks — Pages for an overview of all page types. In short:
- View — when a flat table (one row per item) is enough. Example: “list of orders with customer names.”
- Report — when you need grouped headers, nested details, or multi-section layout. Example: “orders report with line items under each order.”
Creating custom pages
Section titled “Creating custom pages”Beyond tables, the AI can create custom pages with their own layouts and logic. For example:
“Create a dashboard page that shows order totals”
“Make an admin settings page”
The AI writes the page code (TSX) and presents it in a page widget with two tabs:
- Preview — a live render of the page so you can see what it looks like
- Source — the raw TSX code the AI wrote
Page properties
Section titled “Page properties”Each page proposal shows editable header fields:
| Field | Description |
|---|---|
| Slug | The URL slug (e.g., dashboard) — set by the AI, read-only for updates. Pages are served at /page/<slug>. |
| Title | Display name shown in the sidebar |
| Role | Minimum role to access: owner, admin, staff, member, or anon |
| Show in nav | Whether the page appears in the sidebar |
| Layout | Controls the sidebar behavior: Default (normal sidebar), Full width (sidebar collapses to a narrow icon strip — good for dashboards and reports), or No sidebar (sidebar hidden entirely — for polished app experiences where the page provides its own navigation) |
You can edit the title, role, nav visibility, and layout before approving. The page is only saved when you click Create Page or Save Changes.
Updating existing pages
Section titled “Updating existing pages”Ask the AI to modify a page that already exists:
“Update the dashboard to add a chart”
“Change the settings page to include a dark mode toggle”
The AI shows the updated source with a preview. Fields you don’t change are preserved.
Deleting pages
Section titled “Deleting pages”Ask the AI to remove a page you no longer need:
“Delete the dashboard page”
The AI shows a confirmation card with the page slug and a warning. Click Delete Page to confirm or Cancel to keep the page. You can also manage pages in bulk at /view/pages in the CRUD UI.
Page preview
Section titled “Page preview”Sometimes the AI will show a read-only preview of a page before proposing to save it. Previews don’t require approval — they’re just for visual feedback.
Building forms
Section titled “Building forms”Ask the AI to create a form for entering data into any table. For example:
“Build a form for adding new customers”
The AI will generate a page with input fields matching the table’s columns, including smart widgets for foreign keys and file uploads. See Working with Data for details on how forms behave at runtime.
Managing conversations
Section titled “Managing conversations”Every chat session is saved as a conversation. Use the left panel in the AI Builder view to manage them:
- Past conversations — click any conversation in the list to resume it. The full message history is preserved.
- New chat — click the New Chat button to start a fresh conversation.
- Deleting — click the delete icon next to a conversation. A confirmation dialog appears before anything is removed. Deleting a conversation removes all its messages permanently.
- Be specific — “I need a products table with name, price, and category” works better than “make me some tables.”
- Slice by slice — the AI builds each capability automatically after you confirm. You’ll see tables, sample data, and pages appear as it works. After the first slice, the AI automatically sets a home page so your app has a default landing page.
- Choice fields are validated — when the AI creates dropdown columns (like status or priority), sample data is checked to ensure it only uses valid options. If something doesn’t match, the AI corrects it automatically.
- Edit before approving — you can adjust column names, types, and whether they’re required before creating the table.
- System columns are automatic — you don’t need to ask for an ID, creation date, or update tracking. These are added to every table.
Next steps
Section titled “Next steps”- Work with your data — once tables are created, start adding and editing records.