Apps as JSON (server-driven UI)

Fieldproxy is a server-driven UI platform. Every screen of the web and mobile apps is a JSON document that the clients render, so an AI or a developer can build and change the software itself.

Server-driven UI

An app is one JSON document (compiled_data) with a set of views. Each view has data (named SQL queries), optional onload actions and a ui tree of widgets: layout (container, card, row, column, list, tabs), display (text, button, image, charts, tables, maps, kanban, calendar) and inputs (text, number, date, dropdown, photo, signature, file, scan, location and more). Web apps set "type": "web"; mobile apps run on Android and iOS with offline support.

a minimal web app
{
  "app_id": "site_inspections",
  "title": "Site inspections",
  "type": "web",
  "views": {
    "inspection_list": {
      "view_id": "inspection_list",
      "label": "Inspections",
      "data": {
        "inspections": "SELECT id, site_name, status FROM site_inspections ORDER BY id DESC"
      },
      "ui": [
        { "type": "list", "element_id": "inspection_rows", "data": "inspections.data",
          "ui": [ { "type": "card", "ui": [ { "type": "container", "ui": [
            { "type": "text", "text": "{{inspections.data.[index].site_name}}", "font_weight": "600" },
            { "type": "text", "text": "{{inspections.data.[index].status}}" }
          ] } ] } ] }
      ]
    }
  }
}

Bindings and actions

  • Values bind with templates such as {{input_data.field}}, {{view_data.key.data.[0].col}} and {{arguments.id}}, with no spaces inside the braces.
  • Conditions for visibility, required and disabled are SQL-like expressions.
  • Actions on click and change: execute_query, update_data, update_value, navigation, popup, api and generate_pdf, among others.

Drafts, publish and rollback

StepMCP tool
Read the widget reference (web or mobile)get_widget_docs
Read an app or one screen (find, outline, JSON Pointer)get_app, get_view
Create an app (version 1, not live)create_app
Save a change as a draft, or patch part of one screensave_draft, edit_view
Check without saving: lint, every SQL statement EXPLAINed, navigationvalidate_app
Draw a screen on desktop and phone with a design auditrender_view
Go live, list versions, roll backpublish_app, list_app_versions, rollback_app

Every save is checked before it is stored, nobody sees a draft until it is published, and every version is kept. For bigger changes an AI can build in a sandbox copy of the workspace (create_sandbox) and promote apps, automations and agents to live with plan_promotion and confirm_promotion.

Documents and proposals

PDF documents and customer proposals are templates too (HTML with placeholders and SQL, pdfmake, or proposal pages), previewed before saving and versioned for rollback: preview_document_template, save_document_template, generate_document, issue_proposal.

Checked against the Fieldproxy platform reference on October 18, 2026.

Get your own custom field service management within a day. Tailored to your workflows.

We set up a workspace on your own data and connect your AI or your systems on the call.

Get Demo