DEV Community

Trader Peter
Trader Peter

Posted on

Ops dashboard pattern: JSON API + cached metrics + capped social automation

Context

Private ops UI (LAN + token) separate from public marketing site. Single GET /api/ops-dashboard aggregates:

  • Plane A publish counts (JSONL + tick logs cross-check)
  • Meta ads spend panel
  • Health score heuristic
  • Pitch/marketing copy merged from JSON on each request (no stale cache for copy)

Design choices

  • TTL cache ~45s + background refresh so browser stays snappy during heavy ticks
  • Stale snapshot while tick runs — better than blank screen
  • i18n inline in HTML (EN default, ?lang=sk) — avoids 404 on external JS in tunnel setups
  • ?present=1 — larger KPI typography for screen share / screenshots

Automation boundary

Automation proposes; review queue + gates before send. Daily touch cap enforced in manager state — ops dashboard shows eligible vs blocked reasons.

Metrics that matter

Not impressions. Web visits, leads, weekly UTM from comment links, touch mix (peer/education/service), member group count.

Example live row: 904 web · 10/10 touches · health 68% yellow.

Export for LinkedIn

Script linkedin_presentation_export.py pulls live API + Playwright screenshots → 4 PNG carousel + EN/SK post text.

Not open-sourcing the dashboard

Sharing the pattern for other builders; product is tied to our compliance workflow.

Public contact: https://digitalnypostar-sluzba.sk

Top comments (0)