Skip to content
Artwork for Dead Code
Dead Code · Dec 2, 2025 · 53 min

Poison Pills (with Joel Hawksley)

In this episode, GitHub engineer Joel Hawksley breaks down the evolution of GitHub’s UI architecture—from Rails views to ViewComponent to React—and the tradeoffs behind each step. ViewComponent emerged as a practical, backwards-compatible way to eliminate duplicated UI logic in GitHub’s massive Rails monolith, ultimately supporting thousands of components and becoming a key driver of consistency and accessibility. Joel explains how hard UI correctness is compared to backend systems, how keyboard-only tests surfaced real accessibility regressions, and why ViewComponent v4 streamlines the project as it enters a stable, long-term support phase. He also discusses why GitHub increasingly leans on React for complex, app-like behavior: developer enthusiasm, design-system tooling, CSS encapsulation, and the need to manage frontend–backend sync at scale. The conversation closes with reflections on the realities of open-source maintenance and the importance of stability as ViewComponent’s future. Links: Joel Hawksley’s Website ViewComponent Website ViewComponent GitHub Repo Primer ViewComponents Primer ViewComponents Repo Phlex Website Phlex GitHub Repo Herb GitHub Repo ReActionView GitHub Repo WCAG Accessibility Standards Rails Strict Locals Documentation Dead Code Podcast Links: Mastodon X Jared’s Links: Mastodon X twitch.tv/jardonamron Jared’s Newsletter & Website Episode Transcript Hosted on Acast. See acast.com/privacy for more information.

0:00-53:46

transcript

No transcript — this publisher did not publish one.

show notes

In this episode, GitHub engineer Joel Hawksley breaks down the evolution of GitHub’s UI architecture—from Rails views to ViewComponent to React—and the tradeoffs behind each step. ViewComponent emerged as a practical, backwards-compatible way to eliminate duplicated UI logic in GitHub’s massive Rails monolith, ultimately supporting thousands of components and becoming a key driver of consistency and accessibility. Joel explains how hard UI correctness is compared to backend systems, how keyboard-only tests surfaced real accessibility regressions, and why ViewComponent v4 streamlines the project as it enters a stable, long-term support phase. He also discusses why GitHub increasingly leans on React for complex, app-like behavior: developer enthusiasm, design-system tooling, CSS encapsulation, and the need to manage frontend–backend sync at scale. The conversation closes with reflections on the realities of open-source maintenance and the importance of stability as ViewComponent’s future.


Links:


Joel Hawksley’s Website

ViewComponent Website

ViewComponent GitHub Repo

Primer ViewComponents

Primer ViewComponents Repo

Phlex Website

Phlex GitHub Repo

Herb GitHub Repo

ReActionView GitHub Repo

WCAG Accessibility Standards

Rails Strict Locals Documentation


Dead Code Podcast Links:


Mastodon

X


Jared’s Links:


Mastodon

X

twitch.tv/jardonamron

Jared’s Newsletter & Website


Episode Transcript



Hosted on Acast. See acast.com/privacy for more information.

links19