Photo of me with a lightsaber

Hi, I’m Lea! 👋🏼 I make things for making things. I’m an award-winning web standards leader, and have designed several web technologies implemented in your browser. I have launched open source dev tools used by millions, and consult on my areas of expertise. I hold a PhD in usability & innovation from MIT — but chose product over research.

More about me Work with me

Blog

I love sharing knowledge and speak, teach, write, and blog about product design, web technologies, usability, and their intersection.

  1. The best dark mode toggle is probably none 13 min
  2. Dark mode toggles: two states are enough 10 min
  3. In defense of polyfills 13 min
  4. External import maps, today! 4 min
  5. Web dependencies are broken. Can we fix them? 14 min
  6. In the economy of user effort, be a bargain, not a scam 16 min
  7. State of HTML 2025 now open! 4 min
  8. Influence the State of HTML 2025 Survey! 5 min
  9. The Hovercar Framework for Deliberate Product Design 13 min
  10. Bluesky Likes Web Components 13 min
  11. Construction Lines 12 min
  12. Style-observer: JS to observe CSS property changes, for reals 3 min
  13. Context Chips in Survey Design: “Okay, but how does it feel?” 15 min
  14. Web Components are not Framework Components — and That’s Okay 6 min
  15. Making the Web more Awesome — for everyone 3 min
  16. Forget “show, don’t tell”. Engage, don’t show! 4 min
  17. Inline conditionals in CSS, now? 20 min
  18. Inline conditionals in CSS? 6 min
  19. On compliance vs readability: Generating text colors with CSS 18 min
  20. Eigensolutions: composability as the antidote to overfit 14 min 0 comments
  21. Minimalist Affordances: Making the right tradeoffs 6 min 0 comments
  22. State of HTML 2023 now open! 4 min 0 comments
  23. Numbers or Brackets for numeric questions? 7 min 0 comments
  24. Help Design the Inaugural State of HTML Survey! 4 min 0 comments
  25. Going Lean 8 min 0 comments
  26. Rethinking Categorization 4 min 0 comments
  27. 11ty: Index ALL the things! 4 min 0 comments
  28. Migrating Disqus from WP to 11ty 4 min 0 comments
  29. JS private class fields considered harmful 2 min 0 comments
  30. Contrast Ratio has a new home — and this is great news! 1 min 0 comments

All blog posts