Hi, I'm Sam Dawson

I'm a software engineer who thrives at the intersection of design and code, recently exploring AI-powered development to improve user experience outcomes.

Articles

Archiving Robust UI

Robust UI E-book Cover Long overdue, I've archived my Robust UI e-book landing page. While the content about React component…

How not to GraphQL

If you're here you're probably second-guessing your usage of GraphQL. It's a great tool but if your not deliberate about your…

How to test gatsby-node

This article will be enough to get you started with unit testing gatsby-node.js, we are not going to deep dive into every possible…

How to test SVG Graphs

This article is walk-through of testing a React Bar Graph with Jest and React Testing Library. The style of tests documented here…

Least effort feedback

A few months ago I added a feedback textbox to the bottom of every article. I wanted to know when someone finds there way to an…

The snapshot testing tool

Kent C Dodds mentions in his article about snapshot testing when referring to a particular snapshot. "What makes this snapshot…

React Component API Design

This article will go over some component API design patterns at a high level without getting into implementation details of…

Some handy git aliases

This is a list of git aliases I commonly use, mainly this is just a reference for myself for when I change computers or when…

z-index strategies

Let's go over some ways to keep your z-index usage sane. All in one place Keeping all of your z-indexes in one place, in order…

Theming with current color

This article explores using the currentColor property to theme elements, to avoid writing extra CSS to override color. In cases…

Magic numbers in css

A magic number is a number or value in code that does not have an explicit meaning. In CSS maybe we don't have to be too strict…

My css color system

My approach to color usage is similar to a "no magic numbers" rule that you might find in javascript, where colors are always…