otter-dark-mode/PROVENANCE.md
Christian Sass c10cf59e67 feat: three-tier dark theme proposal for Otter.ai
Otter's web app ships no dark mode, and heavy users read transcripts for hours
at night. This proposes three shades rather than one, so the choice survives
changing lighting instead of being wrong half the day.

Contents:
- otter-dark.css   token set, one block per tier, scoped to :root[data-theme]
- preview.html     self-contained demo, no build, no network
- PREVIEW.png      rendered screenshot of the demo
- userscript/      Tampermonkey stopgap that works today

Contrast figures in the README are measured from the token values with the
WCAG 2.1 formula, not estimated. The notable finding is that Otter's brand blue
#0b57d0 fails as accent text on every dark surface (2.59:1 to 3.29:1) while
remaining correct as a solid fill (6.39:1), so the tokens split accent from
accent-fill.

MIT licensed. No affiliation with AISense Inc.

Co-authored-by: CLU <clu@binaryranch.com>
2026-10-27 12:42:16 -05:00

39 lines
1.8 KiB
Markdown

# Provenance
**Developed and first published:** 2026-10-27 by Christian Sass, Binary Ranch.
This repository is the public record of the work: the three-tier dark theme design, the
measured contrast analysis, and the working userscript were built on this date, before the
proposal was sent to Otter.ai. The git history and the file digests below are the evidence.
## What this claims
- The three-tier structure (Midnight / Dusk / Slate) as applied to a meeting-transcript
product, with contrast held roughly constant across surface lightness.
- The split between `--ot-accent` (text-safe accent) and `--ot-accent-fill` (solid button
fill) as the resolution of a brand colour that fails contrast on dark surfaces.
- The userscript technique of a shade-parameterised invert with an exact analytic inverse
applied to media elements, so photographs keep their true colour.
## What this does not claim
No affiliation with, endorsement by, or access to the internal codebase of Otter.ai
(AISense Inc.). This is an independent design proposal offered publicly, under the MIT
licence, in the hope that it is useful.
## File digests (SHA-256)
| File | SHA-256 |
|---|---|
| `README.md` | `859bc3ba8215ce1045da55266bb5c7bb75a04d61f8a1183db97bd8c0f5b0e11f` |
| `LICENSE` | `fa7a1b8b7526dbd4e866fef2f6b046ef7f24df004e4a3bb860730537b9e0ba1c` |
| `otter-dark.css` | `e584729f7770bb2729cbfdce570e60f0fb75abd7a91eab60f4d7b72607878266` |
| `preview.html` | `94b8fd8ce7f1189fd6d79f63ab04f25b64f34382b9e8f856536459b4a8358a78` |
| `preview.png` | `f93e9a370b0049be794480066e756404241cbd64cd3a5a368bb52718de1aeb4b` |
| `userscript/otter-dark-mode.user.js` | `af90dc3d5b174f174353a28de8054a92550cc9f1f043cafb6521d4be8962693d` |
Reproduce with:
```bash
sha256sum README.md LICENSE otter-dark.css preview.html preview.png userscript/otter-dark-mode.user.js
```