Writing
Teaching notes.
Most of these started as an explanation for one person — components, hooks, boundaries, and how to hold an opinion loosely. A few are old enough that the framework has moved on. The ideas mostly haven't.
10 notes · 2019–2026 · about 45 minutes end to end

Aug 6, 2026
A Living Curriculum
How to build a course that generates itself one day at a time, stable enough to hit year-end goals, steerable toward one student's actual interests, and higher quality than anything you could buy. A walkthrough of the whole system, including the research, the constitution, the agent skills, and the state files that keep it on course.

Jan 6, 2024
React Server Actions
React Server Actions allow you to run functions on the server directly from your React components. Think of them as a bridge between client-side interactions and server-side logic. Instead of setting up an API endpoint for every little server interaction, you can define actions that execute server-side with a simple function call from the client.

May 8, 2023
Especially Concerning the Separation of Concerns
A look at the shift from a separation of concerns based on technology (HTML, CSS, JavaScript) to one based on UI objects (like buttons, navigation bars, cards).

Jan 10, 2020
What is a Component?
The term "component" has become a cornerstone concept shaping how we design, develop, and think about software systems. But what exactly is a component, and how has it changed the way we build web apps?

Dec 19, 2019
Writing Your Own React Hooks, the Return Value
JavaScript can only return one value from a function. However, destructuring in modern JavaScript makes this largely irrelevant. We can return multiple values in arrays or objects from a function and instantly destructure them.

Dec 9, 2019
Writing Your Own React Hooks - a TDD Example
Writing your own hooks can encapsulate imperative code in useful and reusable objects, leaving your components simple and completely declarative.

Nov 30, 2019
Writing Your Own Custom React Hooks
In this example, we'll look at extracting essential complexity into composable, encapsulated, reusable objects while keeping your components clean and declarative.

Nov 30, 2019
Strong Opinions (Weakly Held)
Effective teams require people who are flexible and able to be won over to a different, possibly opposing viewpoint. A new look at the art of holding strong opinions...

Nov 7, 2019
The Missing Guide to Twitter OAuth User Authorization
A simple guide to Twitter user authorization

May 8, 2019
How to Not Use Semi-colons in JavaScript
One of the more nuanced debates in JavaScript revolves around the humble semi-colon. Here's your guide to navigating a semi-colon free life in JavaScript, why you might choose this path, and how to do it effectively.









