Case file

Phosphor — a theme editor for a terminal that said no

I built a visual theme editor to make one terminal readable, watched that terminal reject the result, and shipped it for every other terminal instead. A single-file, zero-dependency tool with design-app ergonomics — and a lesson about platform constraints that arrived after the build.

Client
Personal project
Role
Design engineer
Services
design-engineering · tooling · terminal · typography · side-project
Year
2026

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.

Two more case files.

Talk to me about this work →
N° 02
  • QR-activated chain of custody
  • Gamified first response via Bees
  • Two-week response cut to three hours
Sensify → Cervecería y Maltería Quilmes (ABInBev) 2021–2023

Sensify — A theft problem that was a data problem

Quilmes runs 240,000 branded coolers across Argentina and loses three to five percent every year. Everyone called it a theft problem. It took a former database analyst about a month to see it wasn't one — and to trace recovery time from two weeks down to a three-hour average.

  • industrial-monitoring
  • iot
  • enterprise-ux
  • field-operations
  • latam
N° 03 Gated
  • The constraint nobody could design away: the wallet
  • Institutional order types on a retail terminal
  • Making it fast enough to be believed
Cooking.gg (Ember) 2025–2026

Cooking.gg — a trading terminal disguised as a kitchen

Product design and management for a Solana trading terminal built to out-execute BullX and Photon. Institutional-grade order types, MPC wallets behind a social login, a 60% cut in execution time — and a clean PM handoff during the worst possible week to hand anything off.

  • web3
  • trading
  • solana
  • product-management
  • ux-design
  • mobile