I write about React, NextJS, Accessibility, Reusable Components, and general website development and design topics.

No tracking

Discover why I as a web UI engineer have chosen not to track analytics on my website.

Dark Mode and Accessibility

Does your website need dark mode? If you want to build an accessible website then you will need to include support for it on your site.

Progress Bars & Meters, Accurately Describe Information For Accessibility

Progress bars and meters, what are the differences? In this post we extend a flexible React component that supports the meter role.

Accessible Progress Interfaces

Ever had to include a progress bar or progress indicator on you website? If so, do you know if it's accessible? Learn how to in this post

DRY vs DAMP, writing automated tests

DRY vs. DAMP, no I'm not talking about your clothes, I'm talking about tests. Don't Repeat Yourself vs. Descriptive and Meaningful Phrases.

What Accessibility Means to Me

I share my experience with Uveitis, what accessibility means to me, and how creating accessible products can empower your audience.

Optional Chaining in JavaScript

In this video, I show you how to make use of "Optional Chaining" a new operator available to modern JavaScript applications.

Component Driven Development (CDD) in React

In this article, I aim to demystify the term Component Driven Development in plain English and how it applies directly to React.

Read Time in Real-Time with React

We're going to be covering how to develop a 'read time' counter which estimates how long you have left reading before you finish reading an article.

Creating Accessible Colours Based on Props with Styled Components

CSS-in-JS is a decisive topic, but in this post we cover an accessible function that helps generate CSS with accessible colours that is flexible and dynamic

Sharing State with Context in React

You know what's cool about React? State. You know what's not cool? Prop drilling. Let's explore how to share a state store between components without props.

Using a CSV file as a Data Source in Gatsby

We explore how we can drop a CSV file into my Gatsby data directory and build a GraphQL schema based on that file during build-time.

Dynamically Generating Pages in NextJS using WordPress

With the introduction of NextJS 9, you can now dynamically create routes for your site in under 10 minutes with a little configuration.

Creating a Secure Password Indicator Within a Form using React and Formik