For developers · Expo Go

The mobile experiment

A tiny mobile demo of the xNet building blocks — on-device SQLite, signed local-first changes, native-fast reads — running inside Expo Go. It is a developer demo, not the full workspace on your phone.

Open the demo source

This QR code opens the source repository. Follow the steps below to run the demo and generate a launch code.

  1. 1

    Get the source

    Clone the repository and install its dependencies.

  2. 2

    Start the demo locally

    Run the Expo command below to produce a launch QR code.

  3. 3

    Open with Expo Go

    Scan the locally generated code on your phone.

What you're actually running

Local-first storage

Every document lives in on-device SQLite (expo-sqlite). Create data with the network off — it is already saved.

The same core as the web

The demo imports the exact @xnetjs/core, @xnetjs/data and @xnetjs/react packages the web app uses — one data contract, every platform.

Real identity, on device

A signing key is generated on the device and stored with expo-secure-store; every change is signed and hash-chained.

Native-fast reads

Queries hit SQLite directly through the React hooks — no bridge round-trips, no spinner tax on scroll.

Run it yourself

Clone the repo and Expo will print its own QR — scan it with Expo Go.

# 1. get the code + deps
git clone https://github.com/crs48/xNet
cd xNet && pnpm install

# 2. start the mobile demo — scan the QR it prints
pnpm --filter xnet-mobile start

The demo lives in apps/expo. It uses only modules bundled into Expo Go (expo-sqlite, expo-secure-store, react-native-webview), so there's no custom native build to make — it just runs. Want the full app instead? Use it in your browser or download the desktop app.

This is a demo, running in Expo Go

Expo Go is Apple- and Google-approved, so it sidesteps the App Store entirely — but it's a host app, not xNet on your home screen. It's here to show, fast, how little friction there is between the xNet primitives and a working app on real hardware.