The terminal is no longer a place where you type. It’s a place where you read.
Working with coding agents inverted my terminal usage: a few short prompts in, thousands of words of agent output back. Terminals are optimized for the opposite ratio — monospace grids tuned for command density, not for consuming long-form text. My specific pain lived inside Orca, whose embedded terminal I found unpleasant to read for hours a day. No terminal preferences pane exposes what that problem actually needs: typographic control.
So I built it.
Design-app ergonomics on a developer surface
Phosphor is a visual terminal-theme editor. The framing decision was to treat a terminal theme as a typographic and color system — the way a design tool would — rather than a settings form:
- An InDesign-style typography panel: measure (column width), line height, paragraph spacing, weight, ligatures — parameters terminals technically render but never surface for adjustment.
- A Figma-grade color picker: HEX, RGB, HSL, HSB and CMYK modes, per-channel inputs, paste-a-code, recent swatches — for the 16 ANSI colors plus the base palette.
- A live preview as the primary surface. Every control exists to answer one question — how does long output read now? — so the preview stays sticky and everything else yields to it.
The engineering constraints were deliberate: one self-contained index.html (~2,200 lines), vanilla JS and CSS, zero dependencies, zero build, 100% client-side. Nothing leaves the browser, which made deploying it publicly a non-decision.
Export archaeology
A theme you can’t take home is a toy. Phosphor exports to ten formats — VS Code/Cursor, JetBrains, Windows Terminal, Alacritty, kitty, Ghostty, WezTerm, iTerm2, Orca’s YAML, generic JSON — and imports most of them back with auto-detection.
Writing those exporters was an unexpected design education. Each config format encodes its platform’s opinions: what one terminal treats as a first-class setting, another doesn’t represent at all. Mapping one theme across ten schemas is the same job as shipping one design system across platforms — you learn precisely which of your decisions are portable and which were borrowed from the tool you happened to be standing in.
The part where the original problem survives me
Phosphor works. The terminal it was built for doesn’t accept it: Orca’s terminal (Warp underneath) doesn’t allow applying the styling the reading mode needed. The tool solves the problem everywhere except the place that caused it.
I shipped it anyway — it went from Claude artifact to its own repo to production on Vercel — because the general problem is real and bigger than my instance of it: everyone who works with agents now reads more terminal output than they type.
What I carried forward
- Interrogate the platform before building against it. I verified what CSS could do; I never verified what Warp would let through. Constraint research is scope research.
- “Reading mode” is a missing category. Terminal theming today is a color hobby; the agent era makes it a legibility problem, and legibility is a typography problem.
- A tool is a design argument. Phosphor states an opinion — terminals deserve typographic control — more durably than any post could. Building the instrument is the design work.