Writing

A body of thought, still forming: representation, evidence, interaction, and authority. Distance from Gray is a major research thread emerging from the broader practice.

31 essays · since 2016
A painted technical drawing on textured off-white paper. On the left, a dense lattice of ruled lines, circles, and hatching in ink and blue wash, standing for a system's internal state. A firm vertical line marks a boundary. To its right a single horizontal path continues as a dotted line that branches into several forks before trailing off, standing for what a person observes and infers from the system.
Selected · Current work

Why Interaction Became a Scientific Problem

Four decades of human-computer interaction, and the question the field kept postponing: what, exactly, is an interaction?

Research Jul 2026 ~16 min at 200 wpm

Current work

Living Documentation →

The Material Is the Contract →

Versatility Is a Design Decision →

Research

Distance from Gray →

The Prompt Was Never the Point →

Essays

The Grounds of First Principles →

Projects vs. Products →

Sisyphus Discovers Tools →

Explore the historical archive ↓ · The practice behind the writing → · Bring me a problem →

Archive: 22 other published essays

Other published essays · original dates retained

Distance from Gray

Why the next durable layer of AI value is a guarantee, not a generation, and why owning the transformation seam beats managing unreliability at the product layer.

AI & Tools Jun 2026 ~8 min at 200 wpm
Distance from Gray

Why Interaction Became a Scientific Problem

Four decades of human-computer interaction, and the question the field kept postponing: what, exactly, is an interaction?

Research Jul 2026 ~16 min at 200 wpm
A painted technical drawing on textured off-white paper. On the left, a dense lattice of ruled lines, circles, and hatching in ink and blue wash, standing for a system's internal state. A firm vertical line marks a boundary. To its right a single horizontal path continues as a dotted line that branches into several forks before trailing off, standing for what a person observes and infers from the system.

What Started as a Study Tool Became a Product

A native iOS app for my lady's CAPM prep, and the one rule it's built on: derive, don't ask.

Product Jul 2026 ~11 min at 200 wpm
What Started as a Study Tool Became a Product

Living Documentation

The input-side contract for generative work.

Product Jul 2026 ~6 min at 200 wpm

The Material Is the Contract

What building a nano-ceramic game board taught me about parameters.

Product Jul 2026 ~5 min at 200 wpm

Versatility Is a Design Decision

How a game factory survived COVID by being built for range, not role.

Product Jul 2026 ~5 min at 200 wpm
Versatility Is a Design Decision

The Prompt Was Never the Point

From prompt engineering to constitutional systems for model judgment, uncertainty, and action.

AI Governance Mar 2026 ~6 min at 200 wpm

Customer Experience (CX) vs. User Experience (UX)

The Intersection of Emotion and Function

Product Jan 2025 ~6 min at 200 wpm
Customer Experience (CX) vs. User Experience (UX)

Shit Does Not Roll Downhill, It Gets Tracked Everywhere

Redefine Leadership Through Accountability and Team Resilience

Product Jan 2025 ~6 min at 200 wpm
Shit Does Not Roll Downhill, It Gets Tracked Everywhere

The Grounds of First Principles

From Root Assumptions to Refined Solutions

Product Jan 2025 ~12 min at 200 wpm
The Grounds of First Principles

Resolving React 19 Dependency Conflicts Without Downgrading

Tackling Peer Conflicts in Modern React Projects

Product Jan 2025 ~6 min at 200 wpm

Market Forecasting for Product People

Turning Insights Into Strategy

Product Jan 2025 ~6 min at 200 wpm
Market Forecasting for Product People

The Cruelty of Hiring

How Flawed Hiring Systems Undermine Teams and Devalue Talent

Product Jan 2025 ~16 min at 200 wpm
The Cruelty of Hiring

Projects vs. Products

Understanding their distinct roles, lifecycles, and metrics to drive impactful results and sustainable innovation.

Product Jan 2025 ~7 min at 200 wpm
Projects vs. Products

Feedback Loops

Turning Data Into Continuous Improvement

Product Jan 2025 ~6 min at 200 wpm

Guide to E-Commerce Metrics

Product Jan 2025 ~5 min at 200 wpm

Sisyphus Discovers Tools

A Parable of Burden, Risk, and the Absurd

Product Jan 2025 ~5 min at 200 wpm
Sisyphus Discovers Tools

Orchestrating Tomorrow

The Alchemy of Humans + AI Propelling Production

Product Jan 2025 ~12 min at 200 wpm
Orchestrating Tomorrow

The Way of the Cactus

Cultivating resilience on the digital dunes

Product Nov 2023 ~6 min at 200 wpm
The Way of the Cactus

Middleware in Next.js: A Comprehensive Guide

Note: This article is a personal reference guide — results may vary!

Product Sep 2023 ~7 min at 200 wpm
Middleware in Next.js: A Comprehensive Guide

Spokane’s Fiber Future

This is the complete talk I gave to the Spokane City Council on February 26th 2018 regarding the benefits of Municipal Broadband. I ran out…

Product Sep 2023 ~4 min at 200 wpm
Spokane’s Fiber Future

Unit Test Next.js API Routes with TypeScript.

Elevate your code with smart test pattern.

Product Aug 2023 ~7 min at 200 wpm
Unit Test Next.js API Routes with TypeScript.

Testing Routes in Next.js 13

Note: 8/28— I’ve refreshed the content after some experimentation and the release of 13.5.

Product Aug 2023 ~8 min at 200 wpm

GitHub Profile Tuning: A Senior Developer’s Guide to Job Seeking

Product Aug 2023 ~4 min at 200 wpm
GitHub Profile Tuning: A Senior Developer’s Guide to Job Seeking

CIPM — The Cognitive Information Processing Model

Navigating the Mind’s Labyrinth

Product Jul 2023 ~15 min at 200 wpm

Protecting Routes in Next.js 13

With the evolution of the App Router in Next.js, the framework has become even more robust, offering developers enhanced control over…

Product Jul 2023 ~7 min at 200 wpm

WTF is React Fiber?

React Fiber has the buzzword vibe. In this article, I’ll attempt to unravel the mystery, explore its inner workings, and describe why it’s…

Product May 2023 ~8 min at 200 wpm

Exploring React Fiber Use Cases

React Fiber, introduced in React v16, is a complete rewrite of React’s core reconciliation algorithm. It significantly improves how React…

Product May 2023 ~3 min at 200 wpm

Slack is Destroying Communities

How the world’s best business collaboration tool alienated one of the world’s largest web developer communities.

Product Feb 2019 ~5 min at 200 wpm
Slack is Destroying Communities

Live by the EpiPen, die by the EpiPen

I wish I had a photo of Saturday to share with the world. A snapshot of what it’s like for a person who rides an extreme line when it comes…

Product Aug 2016 ~4 min at 200 wpm
Live by the EpiPen, die by the EpiPen

Dear Mailchimp,

We love your service! You focused on UX and UI while your competitors focused on the enterprise. Building a user base with jokes and beauty…

Product Apr 2016 ~2 min at 200 wpm

Get the next essay.

Occasional and worth it — first principles, systems, and what the work is teaching me. No noise, no cadence promises.

Signup retains your email, source, signup date, unsubscribe state, and a salted IP hash for rate limiting.

RSS

The full archive — 31 essays — with older pieces mirrored from Medium. New pieces publish on-site first.