Writing on tech and design.

A growing collection of my long-form thoughts on design, software development and more.

useEffect and component lifecycle

Component lifecycle in React consists of a series of phases. These phases can be leveraged to trigger and control the execution of your code.

WHERE does 'auth' happen?

Turns out authentication is not a mystery, it's a client making a properly formatted request to a special type of server, with the expectation of a particular response.

Testing 101: Overview of tooling for UI component testing

In order to write tests that avoid implementation details, we need a collection of tools that encourage us to test our components from the perspective of the user. This article outlines the four types of tools you need to test your components successfully.

Testing 101: What are implementation details?

'Implementation details' is one of a few terms you are likely to see if, like me, you are researching approaches to testing in React. Knowing what they are and why you probably want to avoid them can be helpful when trying to understand what you do want to test.

Writing the docs

As developers, technical documentation is something we interface with on a regular, if not daily basis. This article considers the importance of properly structuring our personal notes/documentation, to make the most of our learning efforts over time.

How to create better social media previews

The first impression of your digital product, service or side-project might not be when the user lands on your home page. Hone this first step with the perfect social media preview.

Building a podcast app: Media playback in React

I'm currently working on a custom podcast application to display and listen to episodes. The ability to manage episode playback within my code is an important part of achieving this. The focus of this article is defining the process I used to implement this core functionality.