Skip to content
home://build — how it works

Write the front end. Bind it. Deploy.

Every project, the same rebuild: routes, serialisers, a client wrapper, a sync loop, a deploy pipeline — none of it the product. Here the app is a few files of declarative XML that live in the database, and a board deploys them. This page shows how.

Editing and debugging an application inside the CloudBackend console
how we deliver: no toolchain to maintain

The application lives in the database, next to its data.

Source is versioned and ACL-protected like any other object. Build, run and debug in the same window — or in VS Code, synced to your account.

XMLPad

Browser editor with syntax highlighting, live validation and one-click XPath. Run the app from the editor.

VS Code extension

IntelliSense and cloud source sync for teams who prefer a local editor.

Icons & themes

A built-in icon library and dark, light, coloured and custom themes that restyle an app without touching it.

how we deliver: you don't learn the language alone

The assistant already knows the whole documentation.

Describe what you want and get a view, a process and the binding. Point it at your own project with Set AI context. A complete app is 30–85 KB, small enough for a model to hold in full.

AI assistant
Ask anything, or describe what you want to build

You: List tenant://Invoices with name and amount, sorted by due date, and let the Finance group add one.

Assistant: Here is a view with a grid bound to tenant://Invoices, a process that binds it on Loaded, and the ACL line giving Finance write access…

Illustrative. The assistant runs inside the console and requires login.

how we deliver: far less code

Declare the view. Bind it. The database does the rest.

The documented example, exactly as shipped: eleven lines of view, seven lines of process, one running window.

view
<view name="aw02" title="aw2" icon="icon://balloons">
  <panel name="MainPanel" type="rows">
    <label>My Application Library</label>
    <grid name="appsGrid">
      <!-- Teach grid how to interpret the data it is bound to -->
      <row match="db:object">
        <column name="subjectCol" match="@name" display="substring-before(.,'.xml')" label="Name" filter="true" width="140"/>
        <column name="dateCol" match="@updated" display="." label="Updated (UTC)" filter="true" width="140"/>
      </row>
    </grid>
  </panel>
</view>
aw2
My Application Library
Name ▲Updated (UTC)
Calendar2026-08-24T09:37:11Z
Contacts2026-08-21T11:20:22Z
Expenses2026-08-26T12:36:36Z
Mail2026-08-12T13:04:16Z
Notes2026-08-19T13:49:28Z
Tasks2026-08-18T08:12:59Z

The running result. Click a column label and the rows sort; logic runs client-side, so the app keeps working when intermittently connected.

how we deliver: one backend for every platform

The same data model in a Linux daemon, an Android phone and a browser tab.

C++ is the core; Java and Android are bindings of it; Swift and Objective-C cover iOS and macOS. Python is in development.

upload an object
String fileName = "IMG02025.jpg";
String dirPath  = "pictures/";
try {
  MyUploadDelegate delegate = new MyUploadDelegate();
  container.upload(fileName, dirPath, delegate);
  returnObject = delegate.waitForRsp();
}
catch( RuntimeException e ) {
   System.out.println("Warning:");
   e.printStackTrace();
};
return returnObject;

Core surface

createObject, upload, download, query, join, setAcl, share, publish, subscribe.

Remote listeners

onRemoteObjectAdded, Moved, Removed, Renamed. Live updates without a socket layer.

References

Java · C++ · Swift · SDK guide

how we deliver: a release process on day one

Five stages on a board, and a public URL at the end.

Each card carries a version and a VERIFIED or UNCHECKED badge. A deployed app gets its URL, a login page and its certificate.

My Projects

private deployments
kanban v0.4
UNCHECKED

Development

test deploys, public or private
kanban v0.4
UNCHECKED

Shared Projects

public deployments
kanban v0.4
UNCHECKED

Staging

verified versions, frozen to test
kanban v0.4
UNCHECKED

Production

verified versions, live
kanban v0.4
UNCHECKED
https://[tenant]-[username]-[deployment].cloudbackend.cloud — certificate supplied, login page included

No repository, no build pipeline, no container registry, no separate hosting bill. Deployment tutorial

how we deliver: secrets stay secret

Third-party API keys never reach the client.

Calls to an LLM, a payment provider or a mapping API go through a proxy that keeps the secret in a keyring, referenced as ${proxyName_key}.

how we deliver: data flows in

Devices and services write straight into a container.

bash
curl --request POST \
  --header 'Authorization: Bearer API-KEY-SECRET' \
  --header 'Content-Type: text/xml' \
  --data "<newsfeed>Sunshine in $(hostname)</newsfeed>" \
  https://api.cloudbackend.com/v1/hook/{tenant}/{webhook}/
measured, not asserted

A complete, deployed, multi-user CRM is about 85 KB of source.

Read from the platform's own object store on 26 August 2026. No build step, no bundler, no package manager — 85 KB against an entire toolchain.

Deployed applicationWhat it isFilesSource
SimpleCRMCompanies, contacts, deals, activities and users9≈ 85 KB
MotorsCar marketplace — browse, listings and payment10≈ 32 KB
RestaurantRestaurant application5≈ 25 KB
WeatherWeather application6≈ 24 KB

Why it is small: the binding replaces the plumbing, permissions are data, and there is no API tier. The shared datatype library (≈63 KB) is counted separately; an AppStore listing (≈400 bytes) is a manifest, not the app.

Build the app. Then run the business on the same database.