Create comes with built in databases for each project

Overview

Every Create project comes with a free database built in. As you chat with Create, it handles all database details - from designing the structure to writing the code that lets your app save and retrieve data from it.

Use databases to:

  • Store user submissions (forms, feedback, uploads)
  • Save content (blog posts, products, galleries)
  • Persist data between uses of the app
  • Build dynamic data-driven features

Chat

Create automatically updates your database structure & how your app retreives and stores data as you chat.

When a feature requires storing data, it:

  1. Designs the database structure based on your description
  2. Makes Functions to save and retrieve data from the database
  3. Designs the Pages and Components to display and interact with the data
  4. Connects everything to make sure your Pages use the Functions that retrieve/store data.

For example, if you say “Make me a tasks app”, Create:

1

Creates a tasks table with title, due date, and other fields

2

Creates Functions to save and fetch tasks

3

Builds a Page with a task list and add form

4

Makes your Page use your Functions to save and grab tasks from the database

As you continue describing your app, Create updates your database structure, Functions and Pages to match what you want.

Here are common ways to modify your database through chat:

Setting the scene

It helps to start with a specific description of what you want your app to do.

Prompt:

Make a tasks app. Users should be able to add, view, and delete tasks. 

Each task has title, description and comments

Comments should show up under the task and show who wrote them.  

Create will:

  • Make the tables needed
    • Make a Tasks table with title, description, and comments fields
    • Make a Users table with name and avatar fields
    • Make a Comments table with text and author fields
  • Create Functions to save and fetch tasks, users, and comments
  • Build a Page with a task list, add form, and comment list
  • Make the Page use your Functions to save tasks when submitted and grab tasks to display

Adding Fields

Add a description to todos. Show it below the title in italics.

Create will:

  • Add the description column to the Todos table
  • Update Functions to handle the new field
  • Modify the UI to display descriptions

Removing Fields

Remove the priority from todos, we won't use it anymore

Create will:

  • Remove the priority column
  • Update queries to exclude the field
  • Clean up any UI elements showing priority

Adding Tables

Let users add comments on todos. Each comment should have the text and who wrote it

Create will:

  • Make a new Comments table
  • Link it to the Todos table
  • Add UI for viewing/adding comments
  • Handle saving comments to the database

Changing Structure

Instead of due dates, let's use status (Todo, In Progress, Done) to track progress

Create will:

  • Convert the due_date field to a status field
  • Update existing data
  • Modify the UI to show status options

Relationships

Let users assign todos to team members. Show their avatar next to each todo

Create will:

  • Add user relationships to todos
  • Update queries to fetch user data
  • Show assignee info in the UI

Filling Data

Generate 10 sample todos with different statuses and assignees

Create will:

  • Generate 10 sample todos with different statuses and assignees based on your structure
  • Insert the data into your database
  • Preserve relationships between tables

Validation

Make sure every todo has a title

Create will:

  • Add validation rules to the database
  • Update Functions to check data
  • Show validation errors in the UI

Always describe both what data you want to store AND how you want to use it. This helps Create build the right database structure, Functions, and UI.

The more specific you are in your prompt, the better Create can help.

If you describe something at a high level, “make a todo app”, Create will guess what fields each todo should have.

If you describe what you want in detail, “make a todo app with a title, due date, and priority field”, Create will make sure each todo has those fields.

Viewing & Editing Data

Create comes with a built-in database viewer for manual edits to your data. You can quickly verify that data is being stored in the right way when you use your app.

Access it from:

The database viewer lets you:

  • See all tables
  • Edit individual rows
  • Sort and filter data
  • Download data in bulk
  • Run custom SQL queries to fetch data

You can also make your own internal tools to update multiple tables at once:

  • Make a new Page
  • Describe your tool and how it should update the database
  • Try out your UI

Changes in Demo mode in the Builder use a test database. This lets you experiment safely without affecting your live data.

Test vs. Live DB

Create maintains separate test and live databases for each project:

Test Database

  • Used in Demo mode from the builder
  • Allows you to make sure your app is saving data correctly before publishing

Live Database

  • Used in your published app
  • Access your live database from the builder

Publishing

When you publish your app, Create automatically:

  • Creates your live database
  • Applies the latest structure from the Test database to your Live database so that it has the same tables and fields
  • Runs your app with that structure

Errors

Here are some good ways to troubleshoot common errors:

Data isn’t saving or retrieving

If data isn’t saving when you use your app, there are 3 common failure points to check. Go in this order to test each isolation:

1. Database Structure

How to check:

  • Open the database viewer
  • Verify tables and fields match what you expect

If there’s an issue:

  • Describe the correct structure you want in chat
  • Example: “Update the Tasks table to have title, description, and dueDate fields”
  • Create will modify the database to match

2. Function -> Database

How to check:

  • Identify which function saves or retrieves data from the database. Tap on it.
  • Open the Test Runner (3-dot menu > Test)
  • Enter sample data and run the test
  • Check database viewer to verify data was saved
  • Delete test records if needed

If there’s an issue:

  • Copy any error messages
  • Paste them into the function chat
  • Ask Create to fix the specific error
  • Example: “I see this error when I run saveTask and test it with this data: [error] [example data]“

3. UI -> Function

How to check:

  • Try the app in Demo mode from the UI
  • Check that data is being saved when you use the app in the database viewer
  • Verify your page/component references the correct function
  • Type / in chat to see if function is linked
  • Try the flow in Demo mode
  • Watch database viewer to see if records appear

If there’s an issue:

  • Verify your page/component references the correct function
  • Example: “Connect the taks form to the saveTask function when I submit a task”
  • Create will update the code to properly wire everything together

For any errors you encounter, you can paste them directly into Create’s chat. It often recognizes specific error patterns and knows how to fix them.

FAQ

Need help? Join our Discord community or email hello@create.xyz

Helpful database terms

Create handles most details when it comes to updating the structure of your database, or writing the code in your app to save and retrieve data from the database.

However, it somtimes helps to have a quick mental model of how databases work:

Think of a database like connected spreadsheets

A database is like a collection of connected spreadsheets:

  • Each spreadsheet is a table
  • Each column in table is a field
  • Each row is an entry
  • You connect entries across tables with foreign keys and joins

Here are the key terms you might encounter:

  • Schema - A fancy term for the structure of your database (the tables and fields). Create designs this automatically based on the description of how you want your app to work. It updates it as it learns more.

  • Table - A collection of related data, like “Products” or “Feedback”. Think of it like a spreadsheet where each row is an entry.

  • Column (or Field) - A specific piece of information you want to store, like “name” or “email”. Create adds these based on what data you describe needing.

  • Row - A single entry in a table. Think of it like a row in a spreadsheet.

  • Query - Instructions for getting, saving, or updating data from/to tables in your database. Create writes these for you with Functions when you describe how you want your app to show or store data.

  • Join - A way to combine data from different tables. For example, grabbing all posts (from the Posts table) with their authors (from the Users table).

  • Foreign Key - A way to reference data in another table. Like when a post has an “authorId” that connects to a user (and userId) in the Users table. Create sets these up automatically when you describe relationships (e.g. “all posts have authors”).

  • SQL - The language used to make changes to your database structure or retrieve / store data. Create handles writing SQL for you - you just describe what you want in plain English!

  • Migrations - Changes to your database structure over time. Create automatically handles these when you describe new features that require changing the current structure of your database.

Don’t worry too much about these terms! Create handles the technical details. Just describe what data you want your app to store and how you want your app to display the data.