AskElephant Audio
← All docs

Runbook

Ownership (template)

| Area | Owner / team | Notes | | --------------- | ------------ | ------------------------------ | | Vercel project | Your team | Domains, env vars, deploy logs | | Postgres (Neon) | Your team | Connection strings, branches | | R2 bucket | Your team | CORS, public URLs | | PostHog project | Your team | API keys, dashboards | | Sentry project | Your team | DSN, alerts |

Deploys and rollback

  1. Normal deploy: merge to main → Vercel production deploy.
  2. Rollback: Vercel Dashboard → Deployments → select last good deployment → Promote to Production. No git revert required for infra-only rollback.
  3. Code revert: git revert the bad commit and push; Vercel redeploys automatically.

Database backups

Neon and Vercel Postgres provide automatic backups and point-in-time recovery (plan-dependent). Confirm retention and restore steps in the provider console for your plan.

Restore (conceptual): use the provider’s “Restore branch” / PITR UI to a new branch or database, then point POSTGRES_URL at the restored instance until data is reconciled.

Uptime

  • Vercel includes basic monitoring and alerts on failed deploys / function errors.
  • For external checks (status page, multi-region ping), add UptimeRobot or similar against https://learn.askelephant.ai/library and optionally /api/health if you add a health route later.

Incidents

  1. Check Vercel function logs and Sentry (if enabled).
  2. Verify Postgres connectivity and R2 CORS if playback fails only in certain origins.
  3. Disable risky flags via env (e.g. unset PostHog keys only affects analytics, not playback).

PostHog dashboard (recommended)

In PostHog, create:

  • Trends: audio_play_started by properties.resource_id, broken down by source.
  • Funnel: audio_play_startedaudio_progress_100 (approximate completion proxy).
  • Insights: library_searched by query (watch for PII; trim or hash if needed).