A Feelings Wheel that performs the full ritual of emotional precision, then deterministically hands you a curated comic. Select up to three emotions, let the protocol do its work, and receive your comic. Same emotions + same day + same tier = same comic, every time.
a.k.a. the Maastrichtian Emotional Regulations Protocol (v1.3) — or the upgraded Holocene Gödelian Emotional Regulation Protocol (HGERP v2.1)
How it works
- Frontend — a plain HTML/CSS/JS sunburst wheel with three selectable rings. No build step, no framework. Selecting 1–3 emotions and clicking “Get Dino Therapy” sends them to the comic API.
- Resolution logic — alphabetizes the chosen emotions, appends today’s date and the active tier, and hashes the string (djb2). Including the tier in the seed means a given day + emotion set resolves to a fixed comic per tier — the same input always lands on the same Dinosaur Comics strip in standard mode, and the same xkcd strip in upgraded mode.
-
Two comic sources, selectable as a tier:
- Standard — Dinosaur Comics. Looks up the current archive size live from qwantz.com’s homepage each time (cached 1 hour), so it never goes stale.
- Upgraded — xkcd, via its official JSON endpoint. Handles the one real gap in the archive (comic #404 intentionally 404s) by walking forward deterministically until it finds a real comic.
- Backend — the same resolution logic is used by both a local Express server and a Vercel serverless function, so local dev and production behave identically.
Feedback & outcomes tracking
After receiving a comic, you can respond whether it helped, or opt to try the upgraded tier. Each response is validated, then persisted independently (Vercel Blob in production — one blob per response, so concurrent submissions never race). Aggregated totals are surfaced on the Protocol Outcomes page.
If the comic sources ever change
The Dinosaur Comics resolver reads qwantz.com’s homepage markup directly (with a documented fallback path), since qwantz has no official API. The xkcd resolver uses xkcd’s own JSON API, which is far more stable.
Attributions
- Dinosaur Comics by Ryan North
- xkcd by Randall Munroe
- Feelings Wheel by Geoffrey Roberts
Full technical README (project structure, local setup, deployment notes): github.com/superdtf-0882/emotional-regulation-protocol