Photo of me with a lightsaber

Hi, I’m Lea! 👋🏼 I make things that help people make things. Ι design web technologies implemented in your browser, launch 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. I love sharing knowledge and speak, teach, write, and blog about product design, web technologies, usability, and more.

More about me

Blog

  1. Bluesky Likes Web Components 13 min
  2. Construction Lines 12 min
  3. Style-observer: JS to observe CSS property changes, for reals 3 min
  4. Context Chips in Survey Design: “Okay, but how does it feel?” 16 min
  5. Web Components are not Framework Components — and That’s Okay 6 min
  6. Making the Web more Awesome — for everyone 3 min
  7. Forget “show, don’t tell”. Engage, don’t show! 4 min
  8. Inline conditionals in CSS, now? 20 min
  9. Inline conditionals in CSS? 6 min
  10. On compliance vs readability: Generating text colors with CSS 18 min
  11. Eigensolutions: composability as the antidote to overfit 14 min 0 comments
  12. Minimalist Affordances: Making the right tradeoffs 6 min 0 comments
  13. State of HTML 2023 now open! 4 min 0 comments
  14. Numbers or Brackets for numeric questions? 7 min 0 comments
  15. Help Design the Inaugural State of HTML Survey! 4 min 0 comments
  16. Going Lean 8 min 0 comments
  17. Rethinking Categorization 4 min 0 comments
  18. 11ty: Index ALL the things! 4 min 0 comments
  19. Migrating Disqus from WP to 11ty 4 min 0 comments
  20. JS private class fields considered harmful 2 min 0 comments
  21. Contrast Ratio has a new home — and this is great news! 1 min 0 comments
  22. Position Statement for the 2022 W3C TAG Election 3 min 0 comments
  23. State of CSS 2022 now open! 2 min 0 comments
  24. On ratings and meters 2 min 0 comments
  25. Help design the State of CSS Survey 2022! 2 min 0 comments
  26. What is the best way to mark up an exclusive button group? 2 min 0 comments
  27. Introducing Rety: live coding, without the stress 3 min 0 comments
  28. Releasing Color.js: A library that takes color seriously 2 min 0 comments
  29. On Yak Shaving and , a new HTML element for Markdown 2 min 0 comments
  30. Custom properties with defaults: 3+1 strategies 4 min 0 comments

More blog posts