Data Apps

Ontology-powered applications for the data-driven enterprise.

Build me a pipeline command center for the revenue team.
Building your Data App
One build, start to finish Fig. 01
01 · Build
Build anything from a sentence

Build anything from a sentence

Describe the app you need; it's running in minutes. No sprint, no ticket, no handoff.

02 · Visualize
Visualize anything

Visualize anything

Plain React on an open web stack: if the web can render it, your app can ship it.

pipeline-console.tsx react runtime 60 fps
<SegmentDonut />
pipeline by segment
<Scene3D />
canvas · no plugins
<LiveFeed />
events / sec · streaming
Open web stack Fig. 02
data app
campaign-console paused
+9% pacing over budget · q3-retargeting
 Paused UPDATE campaigns SET status = 'paused'
workflow triggered · notify-finance · form response archived
write ack
app database · persistent
decisions overrides audit_log 1,847 write-backs today
write-through confirmed
warehouse · connectors
snowflake salesforce s3
audit · aaron paused q3-retargeting · 14:32:07 UTC
Actions & state Fig. 03
03 · Act
See the number, make the call

See the number, make the call

Every app holds state in a persistent database: forms collect data, buttons trigger workflows, changes write back to your warehouse.

04 · Agents
Agents live inside your apps

Agents live inside your apps

Ana ships embedded in every app: ask in place, and agents read your app's data and take its actions.

supply-console agent
margin by month · west
PO-2214 $184k flagPO-2215 $92k flagPO-2231 $147k flagPO-2189 $61k flag
hold drafted · po_holds
run complete · 47s Freight rose 12% after the carrier switch; three POs drove it. Hold drafted for review.
Embedded Fig. 04
05 · Ontology
Trusted institutional knowledge, all the way to production

Trusted institutional knowledge, all the way to production

Every Data App is stored in the ontology, beside your metrics and definitions, so outputs hold up.

TextQL
root
cybersyn all users
cybersyn/
cpi_timeseries.tql
cybersyn/cpi…
weather_index.tql
cybersyn/weather…
people_ops @people-ops
people_ops/
headcount.tql
people_ops/h…
comp_summary.tql
people_ops/c…
salesforce @sales
salesforce/
rep_performance.tql
salesforce/rep…
pipeline_summary.tql
salesforce/pipe…
tickets @finance
tickets/
revenue_by_category…
tickets/rev…
ticket_volume.tql
tickets/vol…
Stored in the ontology Fig. 05
Viewing as: Leadership 5 of 5 rows
Harbor Point LLCNortheast$1.2M ••••••
Beacon PartnersNortheast$840K ••••••
Crescent RealtySoutheast$610K ••••••
Meridian GroupWest$980K ••••••
Summit HoldingsMidwest$455K ••••••
Total pipeline$4.1M ••••••
Permissions & publishing Backdrop: the console era · Fig. 06
06 · Govern
Every viewer sees exactly their slice

Every viewer sees exactly their slice

Row-level policies and user-level RBAC decide who sees what. Apps refresh, email, and audit on schedule, each in its own sandbox.

07 · Collaborate
Work the same app, live

Work the same app, live

Real-time sync, live cursors, and in-app chat: see teammates move and talk right where the data is.

Pipeline Command Center M S J 3 in the app
pipeline coverage region · west
MayaWest region just spiked?
SamFiltering now
MayaThere it is
Synced live
Collaboration Fig. 07
08 · Run
Run a company on Data Apps

Run a company on Data Apps

Our CRM, pipeline command centers, and reporting are all Data Apps, all built in-house.

apps in production · by quarter
01

Dashboards

Live views of your data, now just one type of Data App.

02

CRM

We rebuilt our entire CRM as a Data App.

03

Command centers

Pipeline cockpits tailored to how each person actually works.

04

Intake portals

Parse messy Excel and PDF reports into clean warehouse records.

05

Review queues

Hold flagged rows for human sign-off before submission.

06

Scheduled reports

Refresh apps on a schedule and email the results to your team.

Use cases Fig. 08
Under the hood
Anatomy of a Data App

Anatomy of a Data App

Anatomy of a Data App

Data App

one published bundle - powered by 4 components

[ the front-end ]

App Tree

the files that render the UI

  • index.htmlentry document (the 'code' field)
  • .js / .mjsReact ES modules, no JSX/TS
  • .cssstylesheets
  • .svg / imageslogos, icons, illustrations
  • .json / .txt / .mdstatic config, copy, small data
[ the inputs ]

Data Sources

how data enters the app

  • sql_queryraw SQL against a connector
  • fileuploaded CSV / xlsx
  • library_tqla .tql file from the library
  • python_codePython to a pandas DataFrame
[ live logic ]

Compute Functions

server-side, run at view time

  • functions/.pyPython, real branching logic
  • functions/.tqlinline TQL, single statement
  • tql_pathreuse a library .tql file
[ backend ]

App Database

the app's own private DuckDB

  • app_db_setup.sqlDDL / setup SQL statements
[ Start building today ]

[ Start building today ]

Your next app is a sentence, not a sprint.

Your next app is a sentence, not a sprint.