Skip to content
LunoraExamplesExamples

Read a real one.

Thirteen runnable apps, each built around a different part of the framework. Read one to see the pattern, clone it to change it, or deploy the ones with a button straight to your own Cloudflare account.

kanban-board

Deployable

Drag-and-drop board, live for everyone looking at it

Shows off

Fractional index ordering, server-resolved drops, multi-query optimistic updates

No auth by design — a deployed instance is open to anyone with the URL.

feedback-board

Deployable

Public feature-request board with AI summaries

Shows off

Unique index as a constraint, denormalised counters, ctx.ai from an action

No auth by design — a deployed instance is open to anyone with the URL.

team-chat

Deployable

Channels, presence, search, file uploads

Shows off

A shard per channel, all three data tiers, authorizeShard, signed R2 uploads

chess

Deployable

Multiplayer chess with lobbies, spectators and Elo

Shows off

Server-authoritative rules, serialized mutations as a game rule, in-transaction settlement

tanstack-start

Deployable

SSR that hands over to a live socket

Shows off

Route loaders sharing a cache key with useQuery, one worker for SSR + RPC

No auth by design — a deployed instance is open to anyone with the URL.

todo-app

Source

The smallest CRUD round-trip

Shows off

defineSchema, one query + one mutation, optimistic updates

blog

Source

Posts, drafts, semantic search

Shows off

.global() tables, .vectorize(), R2 images, a nightly cron

realtime-cursors

Source

Shared cursors, one shard per room

Shows off

.shardBy() and per-room WebSocket fan-out

auth-playground

Source

Sign-in, organizations, admin, 2FA

Shows off

@lunora/auth with the better-auth plugin surface

payment-demo

Source

Checkout and subscription state

Shows off

@lunora/payment, webhook sync, entitlements

notify-demo

Source

Web Push notifications

Shows off

@lunora/notify, subscription stores, queue fan-out

offline-rejections

Source

What an offline queue does when the server says no

Shows off

Durable offline outbox, rejection replay

expo

Source

React Native client

Shows off

@lunora/react-native, the Expo auth bridge

Run any of them locally with pnpm install then pnpm --filter @lunora-example/<name> dev, and open localhost:5173. Examples that need a D1 database, an R2 bucket or a secret say so in their own README; everything else runs offline in Miniflare.

Ready to ship realtime apps?

Open source, deployed to your own Cloudflare account, with no infrastructure to manage.

Start building