Alexander Whitestone 2b91272f4e
All checks were successful
Sanity Checks / sanity-test (pull_request) Successful in 9s
Smoke Test / smoke (pull_request) Successful in 14s
feat: CLI command to view crisis metrics summary (#136)
New crisis/metrics.py:
- CrisisEvent dataclass for individual events
- log_event(): append to ~/.the-door/crisis-metrics.jsonl
- load_events(): load last N days from JSONL
- compute_summary(): aggregate by level, top indicators,
  sessions affected, daily average, peak day
- MetricsSummary dataclass
- format_summary(): human-readable report with bar chart
- CLI: python3 -m crisis.metrics --summary/--json/--last 7d/--log

Makefile targets:
- make metrics    — weekly summary report
- make metrics-json — raw JSON export

Closes #136
2026-04-15 12:41:07 -04:00
2026-03-30 23:27:46 +00:00
2026-03-30 16:38:06 +00:00

The Door

A single URL where a man at 3am can talk to Timmy. No login. No signup. No tracking. Just a door that's always open.

Mission

Stand between a broken man and a machine that would tell him to die.

What This Is

  • index.html — The entire frontend. One file. <25KB. Works on 3G.
  • system-prompt.txt — The crisis-aware system prompt for Timmy.
  • deploy/ — nginx config and deployment script for the VPS.

Architecture

Browser → nginx (SSL) → static HTML → /api/* proxy → Hermes Gateway

Crisis Features

  • 988 Suicide & Crisis Lifeline banner (always visible, click-to-call)
  • Client-side crisis keyword detection
  • Full-screen 988 overlay for explicit intent
  • Crisis-aware AI responses per SOUL.md
  • Offline fallback with static crisis resources

Quick Deploy

ssh root@67.205.155.108
cd /opt/the-door
bash deploy/deploy.sh
  • 📞 988 Suicide & Crisis Lifeline — call or text 988
  • 💬 Crisis Text Line — text HOME to 741741
  • ⛓️ SOUL.md — Timmy's soul, inscribed on Bitcoin

Built by a man who survived his darkest night, for the man who's in his right now.

Sovereignty and service always.

Description
Crisis Front Door — A single URL where a man at 3am can talk to Timmy. No login, no signup. 988 always visible. When a Man Is Dying protocol active.
Readme MIT 1.8 MiB
Languages
Python 64.3%
HTML 26.4%
Shell 7.2%
JavaScript 1.4%
Makefile 0.7%