What is Pylon?
Pylon is an agent-native full-stack framework: point a coding agent at it and it ships a real app — typed schema, row-level policies, server functions, live queries, auth, and native React SSR, all from a single Rust server — it runs your TypeScript and SSR on Bun — that you run and deploy with one command each. You (or your agent) write the schema, policies, and functions in TypeScript; Pylon gives you a typed client and runs the whole backend, with realtime sync built in — apps that need shared, synchronized state (dashboards, CRMs, collaborative tools, chat) work without a separate realtime layer. It’s production infrastructure, not a sandbox — SQLite or Postgres, real auth, one-command deploy — so what you build is something you’d run a business on, not a throwaway capsule. No glue between your database, your API, and your WebSocket server. Everything is one system.Quickstart
Build a live app in five minutes.
Core concepts
Entities, policies, functions, live queries.
SSR
File-based routes, instant nav, image optimizer — Pylon replaces Next.js for full-stack apps.
Deploy
Self-host, Pylon Cloud, or Vercel + Pylon Cloud.
What you get
- Typed schema — declare entities in TypeScript, get types everywhere.
- Row-level policies — access rules next to your data, not in middleware.
- Server functions — queries, mutations, actions, all RPC-callable from the client.
- Live queries —
db.useQuery(...)subscribes to results and updates on write. - Auth — email magic links, OAuth, guest sessions. No third-party SDK.
- SSR — file-based React routes with
<Link>,<Image>, and built-in Tailwind — no Next.js required. - One server — a Rust binary that runs your TypeScript and SSR on Bun, on one port. Deploy anywhere.
Why another backend framework?
Most realtime backends are three systems glued together: a database, an API server, and a realtime pub/sub layer. Keeping them in sync is a full-time job. Pylon collapses the stack. Writes go through the same runtime that serves reads and pushes updates. Live queries re-execute on the server when dependent rows change and stream diffs to subscribers. There’s no denormalization, no cache invalidation, no manual fan-out.What it’s good for
- SaaS apps with live dashboards
- Internal tools, CRMs, ERPs
- Collaborative editors
- Multiplayer games and worlds
- Anything where two browsers need to see the same thing, now
Storage
Pylon runs on SQLite or Postgres. SQLite is the default — a single file, zero setup, great for local dev and many production workloads (single-node, up to tens of GB). Switch to Postgres for horizontal scale, existing Postgres infra, or shared-nothing deployments. The schema, policies, functions, and client APIs are identical across both — setDATABASE_URL=postgres://... and Pylon uses the Postgres adapter.
How to read these docs
Start with the Quickstart to feel the shape of a Pylon app in five minutes. Then Core concepts walks through entities, policies, functions, and live queries in depth. SSR covers file-based routing,<Link>, <Image>, and the rest of the full-stack story. Deploy covers self-hosting, and Deploying to Vercel is the canonical Next.js + Pylon Cloud production stack. Browse examples on GitHub for end-to-end apps (CRM, ERP, chat, 3D world, SSR demos, ten+ total) you can clone.