Build production web apps without leaving the canvas
Drag components onto a live canvas, bind them to your real data, wire up interactivity, and ship to a public URL. Multi-page apps with routing, auth, and per-page backend logic — built visually, published in one click.
How it works
From idea to shipped, in three steps
Compose on the canvas
Drag from a library of 90+ themed components across 12 categories onto a live canvas. Arrange layout, drop in forms, tables, and charts, and see exactly what you're building as you build it.
Bind data and wire actions
Connect any component to a live query with {{expressions}} that reach queries, variables, storage, route params, and the current user. Then attach events — a click runs a query, a submit calls backend logic, a change updates state.
Preview and publish
Preview the full app with real data, then publish to a live URL in one click. Add pages, dynamic routes, and protected views, and your team can co-edit the same canvas in real time.
01
A component library that already matches your product
The canvas ships with 90+ components organized across 12 categories, all sharing one theme so an app looks finished before you touch a color. You compose by direct manipulation — drag, drop, nest, and resize.
12 categories spanning layout, forms, navigation, overlays, feedback, media, and charts/BI
Every component inherits your app theme, so the result is consistent by default
Data-display and chart components render live query results, not placeholder data
Nest and arrange freely on a live canvas that shows the real rendered app
02
Real data binding and event-driven interactivity
Components come alive through {{expressions}} that read from a full data scope, and interactivity is declarative — pick a trigger, attach an action, no glue code required.
Bind any property to live data with {{expressions}} across queries, vars, storage, params, and user
Five trigger types (click, submit, change, page-load, mount) drive every interaction
Actions cover run query, control component, navigate, set variable, set storage, run script, and toast
Chain actions together to build real flows without writing wiring code
03
Multi-page apps with routing, auth, and backend logic
A web app is more than a screen. Build multiple pages with dynamic routes and app-wide navigation, protect them with auth redirects, and add per-page backend logic when you need it.
Multi-page structure with dynamic routes and app-wide navigation
Protected pages with post-login and post-logout redirect handling
Per-page SEO, Open Graph and Twitter cards, plus custom JS and CSS
Page Flow adds per-page backend logic with branch, loop, wait, code, AI, and response blocks
Capabilities
Everything in web app builder
Live drag-and-drop canvas
Build by direct manipulation on a canvas that renders the real app as you arrange, nest, and resize components.
Component Studio
Write custom code components with live compile, then repair issues in place with Fix with Veylo when something breaks.
Composite Editor
Package a section into a reusable block once and drop it across pages and apps, updated in one place.
Form Builder
Rich field types with validation, conditional visibility, and repeaters for dynamic, multi-row inputs.
App theming
Control colors, light and dark modes, corner radius, and custom fonts to match your brand across every screen.
Real-time collaboration
Co-edit the same app with live presence and cursors, so a whole team can build on one canvas at once.
Use cases
What teams build
Internal tools and admin panels
Stand up a data-backed console over your live queries with tables, forms, and role-gated pages in an afternoon.
Customer-facing portals
Ship a multi-page portal with protected routes, post-login redirects, and per-page SEO so it behaves like a real product.
Data entry and workflow apps
Combine the Form Builder with Page Flow so a submit validates input, runs backend logic, and returns a response.
Explore the rest of the platform
Ship your first web app today
Start on a live canvas, bind it to your real data, and publish to a public URL — no code required.