Demo metrics. Numbers come from
MVX.Analytics in shared/mvx-store.js,
derived deterministically from each bookId so the dashboard is stable while you design against it.
Point those four methods at /api/v1/analytics and every panel below goes live — the definitions
already match the views in db/schema.sql.
Opens — last 30 days
Per-book performanceclick a row for detail
Reader leaderboard
Ranked from
point_ledger via the leaderboard_global materialised view.
Hot ranks would be served from a Redis sorted set.