I've run this business for three years now, and I'm only just now starting to *get it*.
The first year where I managed to keep my focus entirely on a single project.
We don't need no fancy tooling!
I recently bought a cheap, used Thinkpad T480, replaced a bunch of parts. Some folks were asking how they could do the same thing, so I figured I'd write about it
In which you probably wonder, but ...why?
Another year in review, in which I just keep shipping, with some stumbles along the way
If you're finding yourself manually installing different versions of Node, you need to know there's a *much* better way.
On how I left a 'prestigious' consulting job to start from scratch as a React developer
Testing is super important, and yet it's hard to find practical examples to show you what to do. This article intends to fix that, by teaching integration testing with React Hook Form.
In which I finally make money from strangers off the internet.
How to fix a cannot read properties of undefined error in Forge
React libraries are hard to keep track of. This article attempts to put the ones worth talking about on one page.
useEffect's clean-up function can be pretty confusing, especially if you're still trying to think in lifecycle methods. Let's clarify the clean-up function in this article.
I recently migrated MaxRozen.com from Gatsby to Next.js, in this article I'll detail the steps it took.
React apps send their code directly to users, so you might be a little confused about how React 'guards' routes from unauthorised viewing. This article explains how.
Shopify's tutorial is awesome for getting started, but doesn't let you deploy onto Vercel. In this article, I'll show you how.
If you're already using a CSS-in-JS library, trying out Tailwind CSS with your existing app might be much easier than you think.
A review of my third year of trying to start an internet business.
You've just gotten over the fact we call them 'Hooks', but how do you stop repeating the same code everywhere? Let's learn about Custom Hooks.
These days there are a heck of a lot of options for deploying React. It can be a bit overwhelming. This article simplifies your choices.
If you're using useEffect to fetch data, chances are you've either run into a race condition, or have one without realising it. Let's learn how to fix them in this article.
If you're confused about side-effects and pure functions, it can be hard to understand useEffect. Let's learn them both, to fetch data with useEffect.
There are a *lot* of React libraries out there. So how do you pick which one to use in your app? This article provides guidelines for choosing.
If you've just learned what useCallback is, you might be wondering why on earth useMemo exists, and why we don't use it everywhere.
Did ESLint tell you to add a function to your dependency array, and now you're getting infinite re-renders? Let's learn how useEffect can help.
useEffect is great for fetching and rendering data, but are you using it correctly? There's an eslint plugin to check!
Do some words in React have you scratching your head? Ref? Stateless component? Let's learn some words!
Moving from Enzyme to React Testing Library is rough. You can't do a lot of things you used to, and there are new best practices. Let's learn them!
People often say to 'move files around until it feels right', but what does 'right' even mean? Let's learn in this article.
Most guides to testing React these days preach: 'Test functionality, not implementation details'. This article explains what that means, and how to do it.
All of the to-do apps are great for starting to learn React, but what about real-life? Let's see what real production React apps are like.
If you're used to class components and setState, the useState Hook might be confusing at first. Let's learn more about it in this article.
It can be pretty confusing to pick how to style your React app. This guide attempts to simplify your choice.
There are a *lot* of React Component libraries to choose from. This guide attempts to put them all on one page.
Using SVG icons instead of PNG or JPG has a few performance benefits, but they're not always straightforward to use. Here's how you do it.
If you find yourself asking whether to use functional components with Hooks over class components, you'll find a lot of outdated information out there. Let's settle this once and for all in this article.
You pride yourself on delivering fast websites to your clients, but do the websites stay fast as the months go by?
React's useEffect hook is an incredibly useful tool for fetching data, but if you're not careful, can cause infinite re-renders.
Running Google Lighthouse five times will half the variability of your test results. So how do you figure out which run is the median?
Do you find yourself struggling for hours to solve problems with Formik? I've started using a different library that's much simpler.
If you're building an app using GraphQL, picking a client to use can be hard. Apollo? Relay? Urql? Let's look into some options.
Whether you want to start a career as a developer, or have been a developer for 20 years, you should check out these books.
Automatically test your code for accessibility issues in the same way you catch bugs with jest-axe.
PerfBeacon was a wrapper around Google Lighthouse that lets you continuously measure your site's performance via API, or a schedule
For a short period, I was employed by a company that drove most of its revenue from blogging. Here's what I learned while I was there.
You probably know how to implement a HoC, but do you know how to write types for one?
Chances are, your React app's bundle is much, much larger than it needs to be.
A review of what I said I would do in 2019, and what I actually did.
Startups can be the best or worst thing for your career as a junior developer. Let's discuss why.
Looking to optimise your webpack config? Understanding the difference between style-loader and mini-css-extract-plugin can help you speed up your page loads.
Getting tired of running the relay-compiler every time you change your GraphQL schema/resolvers? There's a plugin in webpack for that!
Looking to inject variables from CI into the HTML your webpack build outputs? It's relatively simple to do.
Want to stop webpack from including multiple versions of the same package in your bundle? It only takes a couple of lines of code.
webpack is a complicated beast. The more you get to know it though, the better it can serve you.
Self-hosting your Google Fonts can save your customers around 3-400ms per page load. There's a Gatsby plugin that makes it super easy.
Writing semantic HTML markup is one of the first steps to writing accessible websites. Let's learn how to get started!
A list of books I read in 2018
A review post on what I've done this year in terms of trying to start an Internet business
Start your own app with React, GraphQL and Serverless architecture: Part 3 - Let's build a GraphQL backend!
Start your own app with React, GraphQL and Serverless architecture: Part 2 - Let's get this running in production
Start your own app with React, GraphQL and Serverless architecture: Part 1 - Server-side Rendering, Serverlessly!
Getting server-side rendering to work in React is quite a hassle if you don't know what you're doing. Let's make it easier.
Showing how to resolve the dreaded 'Query.X defined in resolvers, but not in schema' issue when your X is **definitely** defined in both
Styling react-select can be annoying. Here's a quick guide on how to do it with popular CSS-in-JS libraries.