Prysm

Prysm is your team’s live data workspace

PrysmOS brings the work to one place: spreadsheets that recalculate live, scripts that ship as APIs, contracts that catch drift — and Juno, an AI that does the work with you.

Formulas your team already knowsShip any script as a live APIJuno handles the busywork
// The short version

One workspace, three kinds of heavy lifting

PrysmOS is where your team keeps working in the spreadsheets they know — while scripts, schedules, contracts, and an AI teammate quietly do the plumbing underneath. No exports, no stale copies, no glue code rotting in a repo nobody owns.

Data

Spreadsheets with a real formula engine, plus connections to Postgres, MySQL, Sheets, Excel, and REST — synced on a schedule, writable both ways.

  • Live recalc
  • 6 connectors
  • What-if scenarios

Automation

JS, TS, and SQL scripts on sandboxed V8 isolates. Publish any script as an HTTP endpoint, schedule it on cron, or fire it from a webhook.

  • Endpoints
  • Cron + triggers
  • Job queue

Intelligence

Juno, an agentic AI with real tools, Investigate in 10 modes, and data contracts that warn or block when schemas drift.

  • Juno agent
  • Investigate
  • Contracts
// Six modules, one workspace

Every piece of your stack, finally in one place

Each module is genuinely deep on its own. Together they replace the tangle of exports, cron jobs, and side scripts most teams call a data stack.

Grid

Spreadsheets

A real spreadsheet engine with server-side recalc. VLOOKUP approximate match, statistical and financial functions, cell comments, @mentions, and multiplayer cursors.

Region
Units
Rate
Total
West
412
1.2
494.4
East
388
1.2
465.6
·
·
·
=SUM(D2:D3)
Learn more
Scripts

Scripts

JS, TS, or SQL on sandboxed V8 isolates — 64MB, hard time limits, zero host access. One click publishes any script as an HTTP endpoint with auto-generated docs.

// runs on a sandboxed V8 isolate
const rows = await prysm.spreadsheets.query("revenue.grid");
return { ok: true, rows };
Learn more
Graphs

Graphs & Dashboards

Sixteen chart types that stay live-synced to the data underneath. Compose them into dashboards your team actually checks.

Learn more
Contracts

Data Contracts

Schema and freshness rules on your data. Warn or block on violation, keep a full history, and trigger automation when something drifts.

schema: orders_v3pass
freshness < 6hpass
row_count > 0pass
Learn more
Docs

Documentation

Markdown docs that live next to the data they describe — plus public Doc Sites with built-in Ask-AI chat for your readers.

Ask-AI enabled
Learn more
Connect

Connections

Postgres, MySQL, REST APIs, Google Sheets, Excel, and file uploads. Encrypted credentials, scheduled sync, and live write-back.

PostgresSheetsREST→Prysm
Learn more
// The PrysmOS flowscroll to walk it
01 / GRID

Start in a spreadsheet that actually computes

Real Excel formulas, server-side recalc, and multiplayer cursors. Change a cell — every dependent updates before you look up.

02 / SCRIPT

Turn the logic into a script

JS, TS, or SQL on a sandboxed V8 isolate. The prysm.* SDK reaches every module — spreadsheets, store, http, cache, the lot.

03 / ENDPOINT

Publish it as an API in one click

Every script can become a versioned HTTP endpoint at /api/run/{org}/{slug} — ship an API before lunch, docs included.

04 / CONTRACT

Guard the output with a contract

Schema and freshness rules watch the data. Violations warn or block, get logged, and can trigger the next run automatically.

app.prysmhq.co/revenue.grid
fx=SUM(D2:D5)live recalc
Region
Units
Rate
Revenue
West
412
×1.2
494.4
East
388
×1.2
465.6
North
297
×1.2
356.4
South
351
×1.2
421.2
Total
1,448
=SUM(D2:D5)
weekly-report.ts — dev
// sandboxed · zero host access
export async function main() {
const rows = await prysm.spreadsheets.query("revenue.grid", { sheet: "Q3"});
const total = rows.reduce((s, r) => s + r.revenue, 0);
await prysm.store.set("weekly:total", total, { ttl: 3600});
return { total, rows: rows.length };
}
v8 isolate64MB3s limit✓ tests passing
api.prysmhq.co/api/run/acme/weekly-report
200 OK41ms · idempotent
{
  "ok": true,
  "total": 1737.6,
  "rows": 4,
  "run_id": "run_9f2ac",
  "cached": false
}
app.prysmhq.co/contracts/revenue
revenue.freshness
evaluating… passing
schemaorders_v3 — 14 columnspass
freshnessmax_age < 6h — last sync 12m agopass
volumerow_count > 0 — 48,211 rowspass
policymode: block on violationon

violation history · triggers automation · audit-logged

// The Grid

A spreadsheet that never goes stale

Change a number and every dependent cell recalculates on the server — instantly, for everyone watching. This isn’t a grid that stores text; it’s a real formula engine with the Excel functions your team already knows, so nobody has to relearn their job.

  • Excel-grade formulas
  • VLOOKUP approx match
  • Server-side recalc
  • What-if scenarios
  • Comments + @mentions
  • Multiplayer cursors
  • CSV / XLSX / JSON
Q3-forecast.grid
MODR 2 online
fx=SUM(D1:D4)
A
B
C
D
E
1
Q1
120
×1.2
144
units
2
Q2
140
×1.2
168
units
3
Q3
98
×1.2
117.6
units
4
Q4
176
×1.2
211.2
units
5
Total
534
—
640.8
avg 160.2
Sheet1 · Sheet2 · Scenarioslive recalc on

live demo — cells recalc as edits land

// Meet Juno

An AI teammate with actual tools

Juno doesn’t just answer questions — it has real tools. And it always asks before it deletes anything.

prysm.juno.run({ mode: 'deep' })

Does the work, not just the talk

Juno queries sheets, writes and runs scripts, checks contracts, and kicks off triggers inside PrysmOS — real tools, not just chat.

Asks before it acts

Reads and analysis run free. Anything destructive pauses for a human approve or deny, every single time.

Finds the why, not just the what

Ten investigation modes — from quick spot-checks to deep multi-step root-cause digs with citations you can verify.

Juno · workspace chat deep mode
Ask Juno anything…

try it — approve or deny the delete

Live formula recalcScripts → HTTP endpointsCron + event triggersWhat-if scenariosSchema contractsFreshness rulesPublic doc sitesLive formula recalcScripts → HTTP endpointsCron + event triggersWhat-if scenariosSchema contractsFreshness rulesPublic doc sites
Agentic AI teammate10 investigate modes16 live chart typesEncrypted credentialsAudit log on everything~50 RBAC permission keysWrite-back to sourceAgentic AI teammate10 investigate modes16 live chart typesEncrypted credentialsAudit log on everything~50 RBAC permission keysWrite-back to source
// Pricing

Per-seat pricing that scales with you

Start free, pay per seat as the team grows. Every plan gets the real formula engine, connectors, and scripts — bigger plans unlock bigger limits.

Free

$0forever

Up to 2 seats · Try the whole platform

  • Spreadsheets with live recalc
  • All 6 connectors
  • Scripts + prysm.* SDK
  • Daily Juno token budget per seat

Team

$29/ seat / mo

Up to 10 seats · Publish, enforce, document

  • Everything in Starter
  • Publish HTTP endpoints
  • Data contracts (warn mode)
  • Doc sites

Scale

$89/ seat / mo

Up to 250 seats · Headroom for heavy workloads

  • Everything in Business
  • Unlimited API keys
  • Largest Juno token budgets
  • Priority support
// Built to be trusted

Serious about safety, quietly

No enterprise checkbox theater — these are load-bearing parts of the platform, on from the free plan up.

Encrypted credentials

Connector secrets are encrypted at rest and re-encrypt on rotation. OAuth tokens refresh without breaking running syncs.

Audit log on every mutation

Every cell edit, script run, approval, and write-back lands in the audit log — who, what, when, and the diff.

Fine-grained RBAC

Roles with ~50 permission keys across every module. Write-back, publishing, and destructive actions each sit behind their own key.

Sandboxed V8 isolates

Scripts run in 64MB isolates with hard time limits and zero host access — only the prysm.* capabilities you grant.

// Shipping, constantly

The changelog moves fast

Small releases, honest notes. Here's what landed most recently.

v0.9

Endpoint docs auto-generate

Publish a script and PrysmOS writes its reference page — parameters, types, example calls, and a try-it console.

v0.8

Fill handle + VLOOKUP approximate match

The spreadsheet muscle memory, intact — plus incremental recalc that lands in under a frame for collaborators.

v0.7

What-if scenarios

Fork any sheet into a sandboxed scenario, tweak assumptions, compare outcomes — the source data never moves.

// Fair questions

Asked often, answered straight

No — PrysmOS is a live workspace that sits on top of the data you already have. Connect Postgres, MySQL, REST APIs, Google Sheets, or Excel files, and it syncs on a schedule you set. Your source of truth stays where it is; Prysm makes it usable, computable, and guarded.

// One workspace

Ready to see it in action?

Free to start. No credit card required. Your future self — the one not reconciling CSVs at midnight — says thanks.