Overview
At-a-glance platform health + freshness + alerts.
Platform status
—
Failed scrapers
0
Stale sources
0
Runners offline
0
Tip: keep Overview open on iPad — this is your “engine room alarm panel”.
Active alerts
Tap an alert to jump + open logs.
Scrapers
Run • pause • retry • inspect • prove freshness.
Last runs
Most recent 20 runs across all scrapers
| Time | Scraper | Status | Runner | Duration | Items |
|---|
Content Ops
Approve • reject • tag • schedule • publish.
Approval queue
Tap an item → preview on the right.
—
Selected item
Preview + metadata
Select an item from the queue.
DEV NOTE: later wire approve/reject to WP REST or your control API.
Queues
Depth • retries • dead-letter
Queue depth
What’s waiting to run
Dead-letter
Jobs that exceeded retry limits
—
Runners
Desktop • Synology • Offsite (future failover)
Logs
Search + filter • tap row to open drawer
—
Integrations
All APIs, logins, keys, webhooks, runner tokens — one place.
API keys & services
Store securely later (server-side). Demo stores locally.
DEV NOTE: In LIVE mode these values should never be returned to the browser.
Store encrypted server-side and only expose “connected / not connected”.
Logins & auth
Connections that power single sign-on, admin access, etc.
WordPress REST Auth
Used for approving posts, managing scrapers, etc.
MemberPress / Membership
Gate premium zones; future drip content.
Cloudflare / Tunnel
Secure runner access without port forwarding.
Webhooks
Push events to other systems (alerts, automations)
DEV NOTE: When live, sign webhook payloads (HMAC) so receivers can verify authenticity.
Integration health
Quick status of configured services
Later: each “Test” calls backend checks (ping endpoints, auth validity, rate limits).
Settings
Defaults + dashboard behaviour
Scraper defaults
Used by backend later
Mode
Demo now, Live later
LIVE API SWAP POINT is in JS → replace Store.get/set with fetch calls.