Full Width [alt+shift+f] Shortcuts [alt+shift+k]
Sign Up [alt+shift+s] Log In [alt+shift+l]

Max Rozen

Max Rozen
OnlineOrNot Diaries 19 Refactoring the business entity, thoughts on marketing and building
11 months ago
Max Rozen
OnlineOrNot Diaries 10 On re-rearchitecting.
a year ago
Max Rozen
Lessons from my third year running a SaaS I've run this business for three years now, and I'm only just now starting to *get it*.
11 months ago
Max Rozen
OnlineOrNot Diaries 13 I tried building a monolith.
a year ago
Max Rozen
OnlineOrNot Diaries 20 Dipping my toe in enterprise sales
9 months ago
Max Rozen
OnlineOrNot Diaries 12 On failing customers, failing to ship a new feature, learning sales, and giving up on ads.
a year ago
Max Rozen
OnlineOrNot Diaries 11 On building table-stakes features, and breaking through a plateau.
a year ago
Max Rozen
OnlineOrNot Diaries 17 On learning screencasting, cleaning up tech debt, and focus
a year ago
Max Rozen
2023: Focusing on a single product pays off The first year where I managed to keep my focus entirely on a single project.
a year ago
Max Rozen
OnlineOrNot Diaries 7 In which I pay for people to check out OnlineOrNot to test my landing pages.
a year ago
Max Rozen
OnlineOrNot Diaries 9 On cleaning up the shop.
a year ago
Max Rozen
How I became a React developer On how I left a 'prestigious' consulting job to start from scratch as a React developer
over a year ago
Max Rozen
OnlineOrNot Diaries 18 Starting the year by cleaning up even more
a year ago
Max Rozen
2022: I just kept shipping Another year in review, in which I just keep shipping, with some stumbles along the way
over a year ago
Max Rozen
OnlineOrNot Diaries 16 On content marketing, starting a YouTube channel, and improving status pages
a year ago
Max Rozen
OnlineOrNot Diaries 4 On ripping out product analytics, updating the pricing page, and adding multi-region monitoring
a year ago
Max Rozen
OnlineOrNot Diaries 2 In which I ship a CLI (for real this time), and improve a few things
a year ago
Max Rozen
OnlineOrNot Diaries 6 A new monitoring service for OnlineOrNot, and new learnings for my pricing page.
a year ago
Max Rozen
OnlineOrNot Diaries 1 On marketing, and shipping a CLI
a year ago
Max Rozen
Managing your Node.js installation If you're finding yourself manually installing different versions of Node, you need to know there's...
over a year ago
77
over a year ago
If you're finding yourself manually installing different versions of Node, you need to know there's a *much* better way.
Max Rozen
OnlineOrNot Diaries 15 Heading back into the arena. We are so back.
a year ago
Max Rozen
OnlineOrNot Diaries 14 Back to regular programming.
a year ago
Max Rozen
OnlineOrNot Diaries 21 I was young, and needed to ship...
5 months ago
Max Rozen
Learn Integration Testing with React Hook Form Testing is super important, and yet it's hard to find practical examples to show you what to do....
over a year ago
71
over a year ago
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.
Max Rozen
Strangers from the internet paid for my MacBook Air: on my 4th year of indiehacking In which I finally make money from strangers off the internet.
over a year ago
Max Rozen
OnlineOrNot Diaries 8 Building a new feature in a couple of weeks.
a year ago
Max Rozen
OnlineOrNot Diaries 5 In which I doubled my conversion rate without trying too hard.
a year ago
Max Rozen
OnlineOrNot Diaries 3 Marketing week? More like reliability week
a year ago
Max Rozen
OnlineOrNot Diaries 23 Working with big systems all day can slow you down.
a month ago
Max Rozen
On replacing my MacBook Air M1 with a Thinkpad T480 In which you probably wonder, but ...why?
a year ago
Max Rozen
Getting your own good enough laptop for under $500 I recently bought a cheap, used Thinkpad T480, replaced a bunch of parts. Some folks were asking how...
a year ago
48
a year ago
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
Max Rozen
Starting a Cloudflare Worker from scratch We don't need no fancy tooling!
a year ago
Max Rozen
OnlineOrNot Diaries 22 Feels like I've already said everything I had to say
2 months ago
Max Rozen
Demystifying useEffect's clean-up function useEffect's clean-up function can be pretty confusing, especially if you're still trying to think in...
over a year ago
42
over a year ago
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.
Max Rozen
@forge/api: Cannot read properties of undefined (reading ‘fetch’) How to fix a cannot read properties of undefined error in Forge
over a year ago
Max Rozen
Preventing infinite re-renders when using useEffect and useState React's useEffect hook is an incredibly useful tool for fetching data, but if you're not careful,...
over a year ago
36
over a year ago
React's useEffect hook is an incredibly useful tool for fetching data, but if you're not careful, can cause infinite re-renders.
Max Rozen
Keeping up with React Libraries React libraries are hard to keep track of. This article attempts to put the ones worth talking about...
over a year ago
32
over a year ago
React libraries are hard to keep track of. This article attempts to put the ones worth talking about on one page.
Max Rozen
How to resolve 'X defined in resolvers, but not in schema' with babel-plugin-inline-import Showing how to resolve the dreaded 'Query.X defined in resolvers, but not in schema' issue when your...
over a year ago
Max Rozen
Keeping your sites fast with regular performance tests You pride yourself on delivering fast websites to your clients, but do the websites stay fast as the...
over a year ago
Max Rozen
Understanding useState's initial value If you're used to class components and setState, the useState Hook might be confusing at first....
over a year ago
29
over a year ago
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.
Max Rozen
What is the difference between style-loader and mini-css-extract-plugin? Looking to optimise your webpack config? Understanding the difference between style-loader and...
over a year ago
28
over a year ago
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.
Max Rozen
Stop useEffect from running on every render with useCallback Did ESLint tell you to add a function to your dependency array, and now you're getting infinite...
over a year ago
28
over a year ago
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.
Max Rozen
How to write semantic HTML Writing semantic HTML markup is one of the first steps to writing accessible websites. Let's learn...
over a year ago
27
over a year ago
Writing semantic HTML markup is one of the first steps to writing accessible websites. Let's learn how to get started!
Max Rozen
Using Tailwind CSS with React and CSS-in-JS If you're already using a CSS-in-JS library, trying out Tailwind CSS with your existing app might be...
over a year ago
27
over a year ago
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.
Max Rozen
Fetching Data in React with useEffect If you're confused about side-effects and pure functions, it can be hard to understand useEffect....
over a year ago
27
over a year ago
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.
Max Rozen
Guidelines for Deploying React These days there are a heck of a lot of options for deploying React. It can be a bit overwhelming....
over a year ago
27
over a year ago
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.
Max Rozen
Introducing PerfBeacon - Continuously Measure Site Speed via API or Schedule PerfBeacon was a wrapper around Google Lighthouse that lets you continuously measure your site's...
over a year ago
Max Rozen
Examples of large production-grade, open-source React apps All of the to-do apps are great for starting to learn React, but what about real-life? Let's see...
over a year ago
26
over a year ago
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.
Max Rozen
Methods for styling your React app It can be pretty confusing to pick how to style your React app. This guide attempts to simplify your...
over a year ago
25
over a year ago
It can be pretty confusing to pick how to style your React app. This guide attempts to simplify your choice.
Max Rozen
How to style react-select with styled-components or emotion Styling react-select can be annoying. Here's a quick guide on how to do it with popular CSS-in-JS...
over a year ago
Max Rozen
Understanding your webpack config webpack is a complicated beast. The more you get to know it though, the better it can serve you.
over a year ago
Max Rozen
Why you should use functional components + Hooks over class components in React If you find yourself asking whether to use functional components with Hooks over class components,...
over a year ago
25
over a year ago
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.
Max Rozen
How code splitting can make your React app load significantly faster Chances are, your React app's bundle is much, much larger than it needs to be.
over a year ago
Max Rozen
Understanding when to use useMemo If you've just learned what useCallback is, you might be wondering why on earth useMemo exists, and...
over a year ago
24
over a year ago
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.
Max Rozen
Fixing Race Conditions in React with useEffect If you're using useEffect to fetch data, chances are you've either run into a race condition, or...
over a year ago
24
over a year ago
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.
Max Rozen
Indiehacking: a review of my 3rd year A review of my third year of trying to start an internet business.
over a year ago
Max Rozen
Guidelines for developing Custom Hooks in React You've just gotten over the fact we call them 'Hooks', but how do you stop repeating the same code...
over a year ago
24
over a year ago
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.
Max Rozen
How do you make relay-compiler run automatically? Getting tired of running the relay-compiler every time you change your GraphQL schema/resolvers?...
over a year ago
24
over a year ago
Getting tired of running the relay-compiler every time you change your GraphQL schema/resolvers? There's a plugin in webpack for that!
Max Rozen
The Definitive Guide to Commonly Used Words in React Do some words in React have you scratching your head? Ref? Stateless component? Let's learn some...
over a year ago
Max Rozen
How do you use variables in the HTML webpack outputs? Looking to inject variables from CI into the HTML your webpack build outputs? It's relatively simple...
over a year ago
Max Rozen
A Guide to Commonly Used React Component Libraries There are a *lot* of React Component libraries to choose from. This guide attempts to put them all...
over a year ago
Max Rozen
2019: Further reflections on trying to start an internet business A review of what I said I would do in 2019, and what I actually did.
over a year ago
Max Rozen
Apollo vs Relay Modern: An unbiased look at which GraphQL client to use If you're building an app using GraphQL, picking a client to use can be hard. Apollo? Relay? Urql?...
over a year ago
Max Rozen
Start your own app with React, GraphQL and Serverless architecture: Part 1 - Server-side Rendering,... Start your own app with React, GraphQL and Serverless architecture: Part 1 - Server-side Rendering,...
over a year ago
Max Rozen
Deploying Node and React Shopify apps on Vercel Shopify's tutorial is awesome for getting started, but doesn't let you deploy onto Vercel. In this...
over a year ago
23
over a year ago
Shopify's tutorial is awesome for getting started, but doesn't let you deploy onto Vercel. In this article, I'll show you how.
Max Rozen
How to use SVGs in your React App Using SVG icons instead of PNG or JPG has a few performance benefits, but they're not always...
over a year ago
23
over a year ago
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.
Max Rozen
2018: Reflections on trying to start an internet business A review post on what I've done this year in terms of trying to start an Internet business
over a year ago
Max Rozen
Guidelines for choosing React Libraries There are a *lot* of React libraries out there. So how do you pick which one to use in your app?...
over a year ago
22
over a year ago
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.
Max Rozen
What it means to not test implementation details in React Most guides to testing React these days preach: 'Test functionality, not implementation details'....
over a year ago
22
over a year ago
Most guides to testing React these days preach: 'Test functionality, not implementation details'. This article explains what that means, and how to do it.
Max Rozen
Why early stage startups are the worst for junior developers Startups can be the best or worst thing for your career as a junior developer. Let's discuss why.
over a year ago
Max Rozen
How to choose a median result when running Google Lighthouse multiple times Running Google Lighthouse five times will half the variability of your test results. So how do you...
over a year ago
22
over a year ago
Running Google Lighthouse five times will half the variability of your test results. So how do you figure out which run is the median?
Max Rozen
How to handle server-side rendering in React Getting server-side rendering to work in React is quite a hassle if you don't know what you're...
over a year ago
22
over a year ago
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.
Max Rozen
Guidelines to improve your React folder structure People often say to 'move files around until it feels right', but what does 'right' even mean? Let's...
over a year ago
21
over a year ago
People often say to 'move files around until it feels right', but what does 'right' even mean? Let's learn in this article.
Max Rozen
Prefetch your Google Fonts for Performance Gains in Gatsby Self-hosting your Google Fonts can save your customers around 3-400ms per page load. There's a...
over a year ago
21
over a year ago
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.
Max Rozen
Automatically testing for accessibility (a11y) issues with jest-axe Automatically test your code for accessibility issues in the same way you catch bugs with jest-axe.
over a year ago
Max Rozen
A Walkthrough of migrating MaxRozen.com from Gatsby to Next.js I recently migrated MaxRozen.com from Gatsby to Next.js, in this article I'll detail the steps it...
over a year ago
Max Rozen
How the React Hooks ESLint plugin saved me hours debugging useEffect useEffect is great for fetching and rendering data, but are you using it correctly? There's an...
over a year ago
Max Rozen
Protecting your React routes React apps send their code directly to users, so you might be a little confused about how React...
over a year ago
21
over a year ago
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.
Max Rozen
Start your own app with React, GraphQL and Serverless architecture: Part 2 - Deploying to a real... Start your own app with React, GraphQL and Serverless architecture: Part 2 - Let's get this running...
over a year ago
Max Rozen
Blogging lessons from working for a large blogging company For a short period, I was employed by a company that drove most of its revenue from blogging. Here's...
over a year ago
20
over a year ago
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.
Max Rozen
Start your own app with React, GraphQL and Serverless architecture: Part 3 - Let's build a GraphQL... Start your own app with React, GraphQL and Serverless architecture: Part 3 - Let's build a GraphQL...
over a year ago
Max Rozen
Understanding Integration Testing in React Moving from Enzyme to React Testing Library is rough. You can't do a lot of things you used to, and...
over a year ago
20
over a year ago
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!
Max Rozen
How to implement a Higher-order component in React with TypeScript You probably know how to implement a HoC, but do you know how to write types for one?
over a year ago
Max Rozen
Frustrated by Formik? Here's a simpler way to do forms in React Do you find yourself struggling for hours to solve problems with Formik? I've started using a...
over a year ago
19
over a year ago
Do you find yourself struggling for hours to solve problems with Formik? I've started using a different library that's much simpler.
Max Rozen
Books every developer should read Whether you want to start a career as a developer, or have been a developer for 20 years, you should...
over a year ago
18
over a year ago
Whether you want to start a career as a developer, or have been a developer for 20 years, you should check out these books.
Max Rozen
The books I read in 2018 A list of books I read in 2018
over a year ago
Max Rozen
OnlineOrNot Diaries 24 Looking over last year, and a first incident for 2025.
a week ago
Max Rozen
How do you use resolve.alias in webpack? Want to stop webpack from including multiple versions of the same package in your bundle? It only...
over a year ago
15
over a year ago
Want to stop webpack from including multiple versions of the same package in your bundle? It only takes a couple of lines of code.