Skip to content

A realtime full-stack framework with a Rust core

The database, transactions, and sync engine are Rust. Your schema, permissions, and server functions are TypeScript on top of them. Live queries, auth, an API, and React server rendering come with it. SQLite by default, Postgres when you need it.

pylon dev · climbdayLive

app.ts

export const Task = entity("Task", {
title: field.string(),
done: field.bool().default(false),
owner: field.ref(User),
})

app/tasks/page.tsx

const tasks = useLiveQuery(
Task.where({ owner: me }),
)

{ "Order chalk", done: true }

{ "Reset the lead wall", done: true }

{ "Email the Tuesday group", done: false }

3 rows · subscribed

climbday.stack0.app/tasks

Today

  • Order chalk
  • Reset the lead wall
  • Email the Tuesday group

One runtime, nothing to wire

Schema, policies, functions, and pages in one project. The data layer is Rust; your code is TypeScript.

Realtime without a subscription layer

Write a query and connected clients get the changes. No cache to invalidate, no websocket plumbing.

Sam · webLive
  • Waiver signed · Priya
  • Pass sold · day pass
Ana · iPhoneLive
  • Waiver signed · Priya
  • Pass sold · day pass

A Rust data layer

The database, transactions, and sync are one Rust binary. Your handler runs inside the transaction.

mutation purchasePass0.8 ms
  • SQLite / Postgresstorage and indexesrust
  • Transactionsserializable, one commit per mutationrust
  • Sync enginediffs to every subscribed queryrust
  • purchasePass()your handler, inside the transactiontypescript

BEGIN

insert Pass · update Member.credits

COMMIT · 2 queries notified

The whole backend

Typed schema, row-level permissions, auth, an API, file storage, and scheduled jobs.

climbday/MIT
app.ts4 entities · policies · auth
functions/
signWaiver.ts
purchasePass.ts
sendReceipt.tsstack0.mail
jobs/nightly at 02:00
app/server rendered
page.tsx
book/page.tsx
members/[id]/page.tsx

Written to be written by an agent

A published guide, an llms.txt, and an MCP server, so a coding agent writes Pylon correctly.

claude codetypecheck passed

$ claude "add a Waiver entity with an expiry"

reading pylonsync.com/llms.txt

pylon-mcp · 12 tools available

wrote app.ts · Waiver entity

wrote app.ts · members read their own

wrote functions/signWaiver.ts

pylon check · 0 errors

Not the right tool for a static site with no data, a single serverless function, or a codebase already committed to another full-stack framework you are not migrating.

Start with a Pylon project

Read the docs, run it locally, and deploy it on Stack0 Cloud when it is ready.

Read the Pylon docs