Website database

A real table behind your site — with dates that are dates and images that are images.

Step-by-step documentation Create tables, fields, rows, and relations

Behind every Fronty site is a real database. Not a page full of cards you keep in your head — tables, with rows and columns, that the pages read from.

The part that matters is the column type. A column is not just a place to put text: it knows what it holds, and the grid edits it accordingly. That is what stops a date being a string that sorts alphabetically, and a price being something you cannot add up.

The types

  • Text and rich text, for a name and for a body with formatting in it.
  • Number, which sorts and filters as a number.
  • Date, edited with a date picker.
  • Checkbox, for the yes/no columns — published, featured, sold out.
  • Select and multi-select, for a fixed set of options rather than whatever someone types.
  • Image, uploaded into the cell and shown as a thumbnail.
  • Link and email, validated as what they claim to be.
  • Icon, picked from the library rather than pasted as a class name.
  • Nested JSON, for the shapes that are not flat — a set of social links, a list of specifications — opened in its own editor rather than dumped as unreadable text.
  • Relation, a cell that points at a row in another table — a product at its category, a booking at a customer — so the linked record lives once.
  • Nested table, for records that belong to this row: line items on an order, variants on a product, opening hours on a location.

What you do with a table

  • Bind a card to it and get one card per row, in your design.
  • Have AI fill it from a description.
  • Point a form at it, so every submission becomes a row.
  • Relate tables to each other, or nest a table inside a row.
  • Sort, filter and search it in the grid, and edit cells in place.

Connecting an element to a column is the moment the table stops being storage and starts being the page. The element no longer holds text you typed — it holds a question, answered again for every row.

How to do it

  1. Open Database in the dashboard and create a table.
  2. Add your columns, choosing a type for each.
  3. Fill in rows — by hand, from a form, or with Suggest data.

The whole path from there — one card for every row, and a page of its own for each of them — is written up in how to connect a website to a database.

What it costs

Included on every plan, including the free one. What changes is how many tables and rows you get — see the pricing page.