Skip to contentHome

Blog

Thoughts on UX design, product development, design systems, and building things that work.

01
AIEngineering

I Serve a Markdown Twin of My Site to Robots

Most AI agents visiting a JS-heavy portfolio get nav soup. I fixed that at the protocol level: one URL, two representations, negotiated by Accept header.

Sep 2026
02
EngineeringWeb

The Cache Header That Froze My Page for a Year

I added immutable caching for images and accidentally gave my HTML page a one-year browser lifetime. Deploying fixes had no effect. Here is what went wrong and how to avoid it.

Sep 2026
03
CraftAI

Designing With a Restraint Budget

A greyscale visual system with semantic color reserved strictly for status. One constraint that did more for coherence than any palette.

Sep 2026
04
Design SystemsThinking

Designing the Thing That Outlives You

The real test of a design system is not launch day. It is whether the work keeps running after you leave. That is a goal you design toward, not a lucky outcome.

Sep 2026
05
Product DesignCraft

Five Dark Modes Later

It took five attempts to get dark mode right on my own portfolio. Here is what each failure taught me about base colors, elevation, and why the ground matters more than the surfaces.

Aug 2026
06
Product DesignThinking

Constraints Are the Clearest Brief You'll Get

Regulatory requirements and hardware limitations are not obstacles to work around. Read them correctly and they tell you exactly what the product has to do.

Aug 2026
07
CareerThinking

Practicing for Interviews When Interviews Scare You

I am good at the work and still find interviews hard. The answer was not to wait for confidence. It was to build a practice system that made the performance part smaller.

Aug 2026
08
Product DesignCraft

When You Can't Make It Faster, Make the Waiting Intentional

Hardware latency you can't remove is still a design material. The craft move is converting a wait into something that reads as feedback.

Aug 2026
09
Product DesignCraft

Hard Shadows Are a Constraint, Not a Style

Ban blur, gradients, and opacity from a design system and something unexpected happens: the decisions get harder, and the results get more honest.

Aug 2026
10
Product DesignInclusive Design

The Same Feature Is Help to One User and Surveillance to Another

When two user groups share one system, a feature does not carry one meaning. Designing for both requires holding two opposed readings of the same screen at once.

Jul 2026
11
CareerUX Research

Thirty Minutes of Research Before I Touch the Application

Every application is a small research project. Here is what changes when you treat it that way.

Jul 2026
12
Product DesignThinking

Prototype the Argument Instead of Winning It

When a team deadlocks on an interaction model, arguing harder just hardens positions. Build both options and let the evidence end the debate before it becomes a conflict.

Jul 2026
13
CareerProduct Design

Reading the Role Before Writing a Word

A senior product designer role and a design-engineer role may both fit you. They are not the same reader.

Jul 2026
14
Design SystemsProduct Design

I Stopped Building the Design System First

The instinct to lay a solid foundation before drawing a single screen is backwards. Building the system alongside the screens is what makes both finish on time.

Jun 2026
15
CareerThinking

Decision-Shaped Stories

Walking a panel through your process is a list. Framing the same work around a decision is a narrative. The difference is where interviewers look for judgment.

Jun 2026
16
Product DesignThinking

Complexity Is a Safety Problem

Feature count debates miss the point. When your users are vulnerable, every added setting is a new failure mode, and cutting scope becomes a form of harm reduction.

Jun 2026
17
AIGovernance

I Built an Anti-Sycophancy System for My AI Coding Agent

When your AI assistant agrees with everything you say, including the things you get wrong, you have a compliance problem. Here is how I fixed it with hooks, rules, and adversarial agents.

Apr 2026
18
Product DesignMobile

Designing for Split Attention: Two Screens, One Story

When your interface lives on two devices, the user can only look at one. Sound, haptics, and invisible latency absorption become your real design tools.

Apr 2026
19
Product DesignAI

Designing a Learning System Around How My Brain Actually Works

I have ADHD. Most learning tools ignore that. So I built one that doesn't.

Apr 2026
20
Product DesignAI

Why Node Graphs Fall Apart at 15 Nodes

Node graphs demo beautifully with 5 nodes. At 15 they become unreadable. The problem is topology, not tooling.

Apr 2026
21
Product Design0-to-1

Prototyping in the Wrong Tool on Purpose

The right prototyping tool depends on the question you're trying to answer, not the phase you're in. Sometimes paper beats Figma and code beats both.

Apr 2026
22
UX Research0-to-1

The Workshop That Changes the Project

Most workshops produce sticky notes and good vibes. A few produce one insight that reframes everything. The difference is the setup, not the activities.

Apr 2026

Want to know when new posts go live?

Follow on LinkedIn