Recent Posts

Delay the appearance of loading spinners with CSS

Web apps should provide a visual indicator when content is being loaded. But sometimes this content is loaded very quickly, causing loading spinners to flash in and out. Which isn’t very useful or visually appealing. We could improve the user experience by not displaying the spinner at all in these cases. This also improves the perceived performance of the application. A simple way to achieve this is to introduce a...

Read more →

Code-splitting React apps safely

Most React apps will use some type of bundler, such as Webpack, to combine their source files into a bundle. As your application grows so does your bundle. Code-splitting is a technique used to reduce your bundle size. A good place to split your bundle is based on routes. So that users only download files when they’re needed. Rather than downloading the whole application upfront. Code-splitting in React is relatively...

Read more →

Style guide driven development in React with Theme UI

We have seen the rapid growth and evolution of CSS in JS libraries in the past few years. It’s an area that’s both mature enough for large scale applications, and young enough to not have any flavour that’s a clear favorite. Theme UI is a new library built on top of the Emotion CSS in JS library. It helps you build consistent, themeable React apps based on a style...

Read more →

Five non-technical books for software engineers

These books have helped me not only become a better software engineer, but also a better person in general. Because life isn’t always about work. Before I dive in to the list, I just wanted to quickly point out that these titles are all available as audiobooks as well. Which is how I usually read non-technical books. It’s a great way to make use of the dead time during your...

Read more →

Create a serverless eCommerce site with React, Stripe and Netlify

In this tutorial we’re going to create an eCommerce web app that accepts payments without the need for a traditional server. We’ll use React (with hooks!) to build a simple UI for demo purposes. We’ll integrate Stripe for payment processing. Stripe requires a server to process a payment, so we’ll create a Lambda function to handle that. Netlify lets you deploy Lambda functions without an AWS account, with function management...

Read more →