Roam Admin

Enter your admin password to continue

Advanced · connect directly (local use)

Local only — the key stays in this browser. Writes are disabled in direct mode.

Dashboard

Welcome back
Search…⌘K
Total Users
—
 
Revenue (range)
—
 
AI Calls (range)
—
 
New users (range)
—
 
Open Reports
—

Insights

auto-generated from the selected range

Active users

range

Top explorers

by score

Top countries

Latest reports

All Users

Full rankings

Top contributors

ranked by content created — posts + reviews + plans hosted

Country visits

Itineraries
—
 
Shared
—
public link
Collaborators
—
joined shared
Edits logged
—
all time

Itineraries created

range

All itineraries

Where your travellers are

country stamps (shading) + city visits (pins)

Top countries

Top cities

Revenue (AUD)
—
 
Bookings
—
Avg / booking
—
Confirmed
—

Revenue trend

range

Revenue forecast

14-day projection (linear trend)

Recent bookings

New (range)
—
 
DAU
—
active today
WAU
—
7-day
MAU
—
30-day
Stickiness
—
DAU / MAU

Signups

range

Signups calendar

last 119 days · darker = more joins (UTC)

Cohort retention

% of each weekly signup cohort active N weeks later

Onboarding funnel

all users

Weekly retention

by signup cohort
Calls (range)
—
 
Input Tokens
—
Output Tokens
—
Est. Cost
—
Active AI Users
—

Calls per day

range

Top users this month

vs. quota

By model

Recent calls

Posts
—
Reviews
—
Avg rating
—
Held / reported
—

Recent posts

Recent reviews

lowest ratings first
AI backend
—
 
DB proxy
—
read/write
Rate-limit pressure
—
calls / last 60s
AI quota
—
per user / month

⚠ Needs attention

Table row counts

Data quality

integrity scan across sampled rows
Open Reports
—
Subjects
—
Content Holds
—

Keyword watch

scan recent posts & reviews for banned terms

Reports queue

dismiss or take down

Auto-held content

Send a broadcast

push notification to your users
R
Title
Your message preview…
now

Delivered via APNs through the gated admin-broadcast edge function. Requires that function deployed + ADMIN_BROADCAST_SECRET set on both your host and Supabase.

Drafts

save & reuse announcements

Best time to send

when your community is active (UTC)

Recent broadcasts

from the audit log

Admin activity log

every action taken in this dashboard

AI quota

Per-user monthly cap on server AI calls. Stored in admin_settings and read by the ai-proxy edge function (falls back to the AI_MONTHLY_LIMIT env var).

Feature flags

read by the iOS app at runtime

Stored as admin_settings rows keyed flag_… — kill-switches & gradual rollouts the app reads.

Cost assumptions

Gemini 2.5 Flash est. rates used for the cost figure (display-only): input $0.30 / output $2.50 per 1M tokens. Edit AI_PRICE_IN/OUT in this file if Google's pricing changes.

Funnel steps

tick the milestones — order flows top to bottom

Conversion funnel

cumulative — each step counts users who did all steps above

Add annotation

mark a launch, promo or incident to explain metric moves

Timeline

newest first · saved to admin_settings
Tables present
—
of expected
Total rows
—
all tables
Empty tables
—
0 rows
Missing
—
not found

Tables

live row counts via the proxy (service role)

KPI goals

Set a target — track live progress against it. Saved to admin_settings.
Active (14d)
—
 
Champions
—
most valuable
At risk
—
win back
Dormant
—
90d+ quiet

Lifecycle distribution

every active user placed by recency, tenure & value

Segments — message a cohort in one click

opens Broadcast pre-targeted to that segment's push-eligible users

Engagement quadrant

recency × value — where each user sits
At-risk (churn)
—
valuable, going quiet
Dormant
—
90+ days
Flagged behaviour
—
auto-detected
Suspended
—
accounts

Churn risk

valuable users going quiet — re-engage them

Behaviour flags

auto-scored from reports, blocks & status
Signups
—
last 24h
Posts
—
last 24h
Bookings
—
last 24h
Reports
—
needs review

Live activity

newest first · toggle Auto (top-right) to refresh every 60s
Friendships
—
accepted
Acceptance rate
—
of requests
Avg followers
—
per user
Blocks
—
total

New connections

range

Most followed

Connection status

Reviews
—
 
Avg rating
—
all subjects
Low ratings
—
≤2 stars
Place reviews
—
community

Rating distribution

By subject type

Lowest-rated reviews

needs a look
Entries
—
 
Private
—
of all
Avg length
—
chars
Linked to trip
—
itinerary

Entries over time

range

Mood

Top tags

Posts
—
 
Likes
—
range
Comments
—
range
Posts / active user
—
range
Likes / post
—
avg

Posts per day

range

When users post

by weekday & hour · UTC

Content mix

Most engaged posts

Sent
—
 
Read rate
—
read_at set
Push opt-in
—
of users
Devices
—
tokens

Notifications per day

range

By type

Read-through by type

DM threads
—
total
Direct messages
—
 
Group-chat msgs
—
plan chat
Active threads
—
last 7d

Messages per day

DMs · range

Channel mix

With photos

Interactions
—
 
Save rate
—
outcome 1.0
Engaged
—
tap + save
Dismiss rate
—
outcome 0

Interactions per day

range

Outcome mix

Signal strength

avg feature scores
Plans
—
 
Upcoming
—
future date
Avg fill
—
spots taken
Participants
—
confirmed

Plans created

range

By status

Top categories

Recent plans

Experiences
—
listed
Active
—
status active
Avg price
—
per person
Avg rating
—
overall

By category

Top cities

All experiences

Deals
—
listed
Active
—
live now
Redemptions
—
 
Confirmed
—
by business

Redemptions per day

range

Top deals

By category

All deals

Hosts
—
is_host
Verified
—
identity
Host revenue
—
confirmed
Avg rating
—
host

Verification

Top hosts by revenue

All hosts

—
Roam · live

Detail