Documentation

Interface Builder

Build user interfaces visually with live preview and property editing.

Overview

The Interface Builder lets you create UI without writing HTML directly. Elements are stored as structured data, making them easy for AI to modify and for you to edit visually.

Route Settings Menu

Create, edit, and delete routes using the route dropdown. The route you're editing is always the route shown in the address bar. You can search for other routes in your project using the search facility in the top navigation (see Tour of the Platform).

Route settings

Set the page name, URL path, and other route-specific settings.

Responsive Views

Switch between screen sizes to preview how your UI appears on different devices.

Responsive view buttons
  • Desktop: Full-width view for large screens
  • Tablet: Medium-width view for tablet devices
  • Mobile: Narrow view for phone screens

Live Preview

The main canvas shows your UI exactly as it will appear. Click any element to select it.

Welcome to My App
Get started by exploring the features below.
Element Tree
▼ div.container
▼ div.hero (selected)
h1
p
div.buttons
  • Orange dashed border: Currently selected element
  • Click to select: Click any element in the preview to select it
  • Element tree: Shows DOM hierarchy on the right

Element Tree

Navigate your page structure using the element tree panel.

Element Tree
▼ div.page
▼ header
nav
div.logo
▼ main (selected)
section.hero
section.features
▶ footer
  • : Expanded element (click to collapse)
  • : Collapsed element (click to expand)
  • Click: Select element
  • Drag: Reorder elements within the tree

Adding Elements

Add new elements by clicking the plus icon in the element tree navigator.

Add element menu

New elements are added as children of the currently selected element.

Element Property Editor

Edit the selected element's attributes in the property panel.

Element property editor

Common Properties

  • Tag: HTML element type (div, section, button, etc.)
  • Classes: Tailwind CSS utility classes
  • Text Content: Inner text of the element
  • id: Unique identifier
  • href: Link destination (for anchor tags)
  • src: Image/media source

See the MDN Web Docs for the full HTML attribute specification.

Event Handlers

Connect UI elements to methods using event handlers.

Events
@click
@submit

Available Events

  • @click: When element is clicked
  • @submit: When form is submitted
  • @change: When input value changes (on blur)
  • @input: When input value changes (real-time)
  • @focus: When element receives focus
  • @blur: When element loses focus
  • @keydown: When key is pressed
  • @mouseenter: When mouse enters element

Element Types

Stellify uses specific element types to categorise attributes and properties. Once your interface is reassembled as HTML/CSS code, these element types don't have any bearing.

s-wrapper

Container elements like div, section, header, footer.

<div class="container mx-auto p-4">
  ...content...
</div>

s-input

Form controls: input, button, textarea, select.

<button @click="handleClick">Click me</button>
<input type="text" v-model="name" />

s-form

Form container with submit handling.

<form @submit.prevent="handleSubmit">
  ...fields...
</form>

s-media

Images, videos, and audio elements.

<img src="/hero.jpg" alt="Hero image" />

s-loop

Repeating elements with v-for.

<div v-for="item in items" :key="item.id">
  {{ item.name }}
</div>

Variable Bindings

Display reactive data using template syntax for Vue, Blade, and other templating engines.

Text Binding
Content
Available variables:
count title items

Use {{ variable }} syntax to display reactive data. The builder shows available variables from your Vue component's script setup.

Next Steps

Previous
Code Editor