Cross-platform consumer app starter built on Pylon. One realtime backend, three native frontends:
apps/expo— React Native + Expo. Runs on iOS, Android, and the web from a single codebase. Uses@pylonsync/react-nativefor live queries.apps/swift— Native SwiftUI app targeting iOS and macOS (universal binary). Talks to Pylon over REST + WebSockets directly from Swift.apps/tauri— Tauri 2 app targeting macOS, Windows, Linux desktop and (with the mobile target enabled) iOS + Android. Vanilla TypeScript frontend talking to Pylon over the public REST API.
All three apps target the same backend (backend/) so you can run them in parallel and watch state sync across every device.
A simple shared notes app:
- Sign up / log in
- Create, edit, delete notes
- Real-time updates across every signed-in device
- Tags + search
# Bring up the Pylon backend
cd backend
pylon dev
# In another terminal — Expo
cd apps/expo
bun install
bun start # press i for iOS, a for Android, w for web
# Native Swift
open apps/swift/PylonNotes.xcodeproj
# select target (iOS or My Mac (Designed for Catalyst)) → Run
# Tauri
cd apps/tauri
bun install
bun tauri dev # desktop
bun tauri ios dev # iOS
bun tauri android dev # AndroidPylon backend exposes:
POST /api/auth/password/{login,register}for authPOST /api/entities/Notefor inserts (CRUD)POST /api/search/Notefor full-text searchWS /for live query subscriptions
The Expo app uses @pylonsync/react-native so live queries feel native. Swift and Tauri implement a thin REST + WebSocket client directly — see apps/swift/PylonNotes/PylonClient.swift and apps/tauri/src/lib/pylon.ts.