NewBenchmark: how xprem handles a 1M MAU fleet on a single vCPU

Understand how your updates perform in the wild.

Track live activity, health, performance, events and logs across every device. xprem implements the expo-observe protocol, tying every signal to the exact update that produced it, in your own ClickHouse.

Get startedGitHub
Deploy with your agent

Open a reviewable prompt in

ClaudeChatGPTCursor

Every signal, traced back to the update.

Health, activity, performance, events and logs stay linked to the release that produced them.

Update health95.1%
100%50%
18:0000:0006:0012:00

Update health

Track adoption, failures and crash rates for every update group as it rolls out.

Online now14,208live

Live activity

Watch devices check in across the fleet as sessions and telemetry arrive.

Bundle load468ms
Time to first render1.22s
Time to interactive2.73s

Metrics

Compare startup and bundle performance across releases and devices, then pinpoint regressions on specific screens with Expo Router or React Navigation.

Identified devicedvc_8f32
Custom attributes
planenterprise
regioneu-west
tenant_idrider-co
EU enterprise cohort1,284 devices

Identify & custom attributesEnterprise

Tag devices with your own attributes, then build precise cohorts around the users and environments that matter.

Search logs…
11:14:15INFOcheckout_started
11:14:15INFOproduct_viewed
11:13:56ERRORRequest failed with status 503
11:13:49INFOsearch_performed

Logs

Tail structured logs with update, channel, branch and runtime context attached.

Claudexprem MCP

Give me a health report for update 3e4df.

xprem · queried Observe

Performance regressed after 3e4df on Galaxy A54, Pixel 8 and Redmi Note 12.

+47%startup spike
Since update 3e4df

MCP

Query your Observe data directly through xprem's MCP server.

Observe.

Monitor crashes, performance and the JS runtime of your apps, so you can tell what each update actually did to them.

CapabilityBuilt innothing to installObserveneeds ClickHouse · SDK 56+
Native crashBuilt inObserve
DownloadsBuilt inObserve
GeolocationBuilt inwith GeoIP DBObservewith GeoIP DB

Metrics

Bundle loadBuilt inObserve
Time to first renderBuilt inObserve
Time to interactiveBuilt inObserve
Cold launchBuilt inObserve
Warm launchBuilt inObserve
Update downloadBuilt inObserve
LogsBuilt inObserve
EventsBuilt inObserve
JS crashBuilt inObserve

Enterprise

Custom device attributesBuilt inObserve