← All speakers

Bio, Work & Ideas

Lydia Hallie

On this page

Lydia Hallie is a member of technical staff on Anthropic’s Claude Code team, working on developer experience and technical education. She created JavaScript Visualized and JavaScript Questions, and co-created Patterns.dev with Addy Osmani. Her educational work explains programming through behavior developers can follow and predict: how a callback reaches the call stack, how a framework delivers different kinds of pages, and how a coding agent’s settings change its actions.

Making JavaScript visible

Lydia’s JavaScript Visualized series took shape in 2019, with illustrated explanations of the event loop, hoisting, scope, JavaScript engines, and prototypal inheritance. A visual learner herself, she used animated diagrams to make execution unfold step by step. Her stated aim is to create free educational resources that help more people understand the tools they use and become excited about technology.

Her event-loop explanation illustrates the method. A timer reaching its delay does not mean its callback immediately runs: the callback must wait for the call stack to become available. Following functions through the stack, browser APIs, and queue explains why a program’s output can differ from the order in which its code appears on the page.

JavaScript Questions, also created in 2019, asks readers to predict behavior before opening an explanation. Its first question places var and let declarations after statements that attempt to read them, exposing the difference between an initialized undefined value and a variable that cannot yet be accessed. Where an animation makes execution visible, a question exposes an assumption the reader may not realize they hold.

Lydia authored the questions and explanations, with community contributors helping maintain, improve, and translate the collection. Its introduction marks the material as reflecting JavaScript syntax and behavior from its original period.

Explaining application architecture

With Addy Osmani, Lydia co-created Patterns.dev, a free resource covering design, rendering, and performance patterns for web applications. Both are credited as co-creators and writers, alongside contributors responsible for engineering, editing, illustration, and user experience. The collaboration extends her teaching from individual language features to choices about how applications are organized and delivered.

As a developer experience engineer at Vercel, Lydia also explained the machinery behind the platform. Her 2022 build-your-own-framework tutorial constructed a simplified React framework that deployed through Vercel’s Build Output API. Different pages called for different mechanisms: a static landing page could be cached, a product listing could be regenerated as its data changed, and personalized content required request-time behavior. Building the framework showed readers what a production framework normally supplies for them.

Her 2023 account of Vercel’s infrastructure followed applications through building, deployment, and incoming requests, connecting the code developers write to the systems that run it. Lydia subsequently became Head of Developer Experience at Bun before joining Anthropic’s Claude Code team.

Distinguishing capability from effort

Lydia’s writing on model selection and effort in Claude Code explains two controls that can appear to promise the same improvement. Model selection changes the underlying capability available; effort influences how thoroughly the agent works through a request. Choosing between them requires examining what went wrong.

  • Capability versus investigation. A more capable model may help when a problem remains too difficult despite adequate context and a serious attempt. Higher effort may help when the agent skips relevant files, omits tests, or stops before finishing. These failures call for different interventions.
  • Context before configuration. Lydia asks developers to check whether the request is clear and whether the agent has the information and tools it needs before changing settings. Increasing effort cannot reliably compensate for an inadequately scoped task.
  • Effort as observable behavior. Effort affects actions such as reading files, verifying results, and continuing through multiple steps. Those behaviors give developers something concrete to assess when deciding whether the setting helped.

This work carries her teaching into tools whose behavior is less predictable than JavaScript execution. The useful distinction is still specific: developers need to recognize whether an agent lacks the capability to solve a problem or has failed to investigate it sufficiently before choosing what to change.