Skip to main content
ADR-004accepted

Single Accent Color System over Category-Based Palette

Context

The original design assigned unique neon colors to each technology category and content type — 12 distinct hues mapped to categories like Frontend, Backend, DevOps, AI, and Design. While visually distinctive, this approach created several compounding problems. The color assignments were arbitrary and carried no semantic meaning (why is DevOps purple and Frontend green?). The palette required a Colorizer utility component that added conditional rendering logic to every list item. Dark mode amplification made neon colors visually aggressive, reducing readability. Most critically, the multi-color approach communicated 'playful developer portfolio' rather than 'senior technology leader' — a fundamental misalignment between visual language and professional positioning.

Decision

Replace the entire category-based color palette with a single accent color (#0070f3, Vercel Blue) applied uniformly across all interactive and emphasis elements. The design system now operates on an achromatic foundation — grayscale values for all structural elements (backgrounds, borders, text hierarchy) with the accent color reserved exclusively for actionable elements: links, CTAs, status indicators, and icon highlights. The Colorizer component was removed entirely. All theme tokens reference semantic names (primary, primaryHover) rather than categorical ones.

Consequences

Positive: Eliminated the Colorizer component and ~200 lines of conditional color logic across 15+ components. Reduced the theme object from 36 color tokens to 24. Visual hierarchy is now communicated through typography weight, size, and spacing rather than color differentiation — a more sophisticated and scalable pattern. The site reads as a serious technical document rather than a colorful dashboard. Dark mode consistency improved dramatically: one accent color calibrated once for both modes versus 12 neon values requiring individual dark-mode tuning. Negative: Category differentiation in technology lists relies entirely on grouping headers and spatial layout rather than color coding. Users scanning quickly cannot use color as a secondary information channel. This is an intentional trade-off: the target audience (technical hiring managers, VPs of Engineering) values clarity and restraint over visual novelty.

Calibrated Uncertainty

Predictions at Decision Time

Predicted the achromatic system would communicate 'senior technical leader' rather than 'creative developer.' Expected the loss of color-coded categories to be offset by improved visual hierarchy through typography and spacing. Assumed the single accent color would simplify dark mode maintenance from calibrating 12 hues down to calibrating 1. Predicted a net reduction in code complexity — estimated 150-200 lines removed.

Measured Outcomes

The professional positioning prediction was validated through direct feedback: two technical recruiters independently described the site as 'clean' and 'serious' — adjectives never used about the neon version. Dark mode maintenance dropped from a persistent source of visual bugs (neon green on dark grey was always wrong) to a non-issue. The code reduction was exactly as predicted: ~200 lines removed, Colorizer component eliminated entirely. The unexpected outcome: the achromatic design forced improvements to typography and spacing that made the entire site more readable, not just more professional. The category scanning speed concern has not surfaced as user feedback.

Unknowns at Decision Time

Unknown at decision time: whether removing color as a category signal would measurably impact navigation speed. User testing was not conducted — the decision was made on design principles rather than data. Also unknown: whether a single accent color would feel 'too Vercel' given the explicit use of #0070f3. In practice, the association is subtle and reinforces rather than distracts from the technical positioning.

Reversibility Classification

Two-Way Door

Re-introducing category colors would require: re-creating the Colorizer component (or equivalent), adding 12 new color tokens to both theme objects, and updating 15+ components to consume categorical colors. The theme architecture supports arbitrary token addition. Estimated reversal: 4-6 hours. However, the design intent would need to be reconsidered — reversal is technically trivial but strategically undesirable.

Strongest Counter-Argument

The strongest counter-argument is information density: color-coded categories provide an additional visual channel that aids scanning in technology lists with 70+ items. A user looking for 'all AI-related technologies' could scan by color in the old system; now they must read category headers. Additionally, the neon palette made the site visually memorable — in a sea of minimalist portfolios, the colorful version stood out. The counter-counter: standing out through color novelty is a junior designer strategy; standing out through content quality and typography is a senior one.

Technical Context

Stack
styled-componentsThemeProviderCSS Custom Properties
Color Tokens Before
36
Color Tokens After
24
Removed Components
Colorizer
Lines Removed
~200
Constraints
  • Must work in both dark and light mode
  • Single accent for all interactive elements

Related Decisions