# Soft Launch — Monitoring Checklist

**When to use:** During the first 48 hours after soft launch announcement. Keep this tab open.

---

## Pre-Launch Health Check (run before posting announcement)

```bash
# Production health
curl -s https://llmhosts.com/api/health | python3 -m json.tool
curl -s https://llmhosts.com | grep -c "LLMHosts"

# CI — confirm last run was green
gh run list --limit 3

# Docker containers up
ssh <prod-server> "docker compose -f docker-compose.prod.yml -f docker-compose.external-proxy.yml ps"
```

All must pass before announcing.

---

## Live Monitoring URLs (keep open)

| What | URL | Check |
|------|-----|-------|
| Production landing | https://llmhosts.com | Page loads, hero renders |
| API health | https://llmhosts.com/api/health | `{"status":"ok"}` |
| Login | https://llmhosts.com/auth/login | Auth page loads |
| Signup | https://llmhosts.com/auth/register | Register flow works |
| Dashboard | https://llmhosts.com/dashboard | Authenticated, loads devices |
| Prometheus metrics | http://localhost:9090 (prod server) | Metrics flowing |
| Grafana | http://localhost:3001 (prod server) | Dashboards live |

---

## What to Watch (first 48h)

### Every 30 minutes
- [ ] API health endpoint returns `{"status":"ok"}`
- [ ] No 5xx errors in Traefik logs: `docker compose logs traefik | grep -E "5[0-9]{2}" | tail -20`
- [ ] No auth errors: check Next.js logs for `auth.*error` patterns

### On each new signup
- [ ] Email verification sent (check Resend dashboard: https://resend.com/emails)
- [ ] User appears in dashboard (verify DB write succeeded)
- [ ] No Stripe errors in webhook logs

### Error response
| Signal | Action |
|--------|--------|
| API health returns non-200 | Check Docker containers, restart if needed |
| Email not arriving | Check Resend dashboard for bounces/errors |
| Stripe webhook failing | Check `gh run list` for CI, check Stripe dashboard |
| 503s on landing page | Check Traefik + frontend container status |

---

## Support Channel

- **GitHub Discussions**: https://github.com/LookNoHandsMom/LLMHosts.com/discussions (enable before launch)
- **GitHub Issues**: https://github.com/LookNoHandsMom/LLMHosts.com/issues (for bugs — direct users here)
- Respond to all reports within 24h during soft launch

---

## Go / Hold Decision Tree

```
All health checks pass? → If no: HOLD, fix first
Last CI run green? → If no: HOLD
Stripe live + webhook verified? → If no: HOLD (accept no payments = launch risk)
RESEND_API_KEY in prod? → If no: HOLD (signups broken without email verification)
Announcement draft ready? → If no: HOLD

All yes → GO
```

Current status (2026-03-08):
- ✅ Stripe live keys configured
- ✅ RESEND_API_KEY configured (#187 closed 2026-02-21)
- ✅ 2,874 tests passing (2413 backend + 808 frontend + CI smoke E2E)
- ✅ Branch protection + 17-check CI gate on main
- ⏳ Launch date: human decision (#134)

---

## Post-Launch (end of day 2)

- Collect all GitHub Issues opened by early users
- Triage by severity: P0 (blocks signup/use), P1 (significant friction), P2 (nice-to-have)
- Fix all P0s before widening audience
- Post recap comment on #134 with: signups, issues opened, feedback themes
