Handle
with Care

Our writing

Dec. 18, 2025

Using React Transitions for low priority text editor updates

by Shane Friedman

React ProseMirror can really be quite fast, but what happens if we need to render it multiple times? Let’s walk through how to use React’s Transition APIs to speed up perceived performance by ensuring that only the critical interactive elements are updated immediately following user input.

July 2, 2025

Tech Debt as Product Strategy

by Morgan Cohn

Most teams treat technical debt as inevitable maintenance rather than strategic investment—but this approach fails because not all debt is created equal. Let's break down a framework for evaluating tech debt decisions with the same rigor as feature development.

Feb. 22, 2025

There’s no such thing as an isomorphic layout effect

by Shane Friedman

There’s something off about the most popular approach to quieting React’s warnings about using layout effects during server-side rendering. Let’s break down why the warning exists, and when it really makes sense to disable it without actually addressing it.

Feb. 6, 2025

Why I rebuilt ProseMirror’s renderer in React

by Shane Friedman

For the past year and a half, I’ve been re-writing the renderer for ProseMirror, the popular rich text editing library. This new renderer has finally been marked as stable and published as part of @handlewithcare/react-prosemirror, a library that integrates React and ProseMirror. Here’s a very deep dive into the journey I took, and why it led me where it did!