Dashboard and Analytics
The compact /dashboard surface plus the backend analytics APIs that remain available for repo tooling and integrations.
Source: apps/web/content/docs/features/analytics.mdx
Dashboard and Analytics
Status:
/dashboardis the public UI./analyticsis not a public page. Backend APIs:/api/analytics/*remain available whenBACKEND_URLpoints to the ai-web-feeds backend.
The public app keeps analytics out of the main reader workflow. Use /dashboard
for compact catalog health. Use CLI commands and backend API routes for
analytics snapshots, CSV export, and downstream reporting.
At a Glance
| Surface | Uses backend | Behavior when backend is unavailable |
|---|---|---|
/dashboard | No | Renders catalog health from repo artifacts |
/analytics | No | No public route |
/api/analytics/* | Yes | Returns 503 FEATURE_UNAVAILABLE |
What Ships Today
Analytics APIs
The backend-backed analytics routes remain available for integrations:
/api/analytics/summary/api/analytics/trending/api/analytics/velocity/api/analytics/export/api/analytics/snapshot
They support:
- Time range filtering: 7, 30, or 90 day slices
- Topic focus: Filter the overview by a topic string
- Refresh: Re-run the current query slice
- CSV export: Download the current summary slice as a CSV attachment
Proxy Contract
The web app expects the ai-web-feeds backend to expose the following routes:
| Web proxy | Backend route | Purpose |
|---|---|---|
/api/analytics/summary | GET /analytics/summary | Summary KPIs for the selected date range and topic |
/api/analytics/trending | GET /analytics/trending | Trending topic slice |
/api/analytics/velocity | GET /analytics/velocity | Publication velocity data |
/api/analytics/export | GET /analytics/export | CSV export |
/api/analytics/snapshot | POST /analytics/snapshot and GET /analytics/snapshot | Snapshot creation and latest snapshot retrieval |
Backend-Off Response
When the backend is unavailable, the web proxy returns:
{
"error": "Analytics are unavailable until BACKEND_URL points to the ai-web-feeds backend.",
"code": "FEATURE_UNAVAILABLE"
}with HTTP 503.
Local Smoke Test
Start the backend HTTP surface:
uv run uvicorn ai_web_feeds.web_api:app --host 127.0.0.1 --port 8001Point the web app at it:
BACKEND_URL=http://127.0.0.1:8001Quick verification:
curl "http://127.0.0.1:3000/api/analytics/summary?date_range=30d&topic=llm"Related
- Admin Observability - Protected telemetry for the web API layer
- Deployment Guide - Running the optional backend service