You are browsing the new, beta version of my website. Some things may not work properly. If you spot any problems, please file an issue!
Photo of me smiling

Hi, I’m Lea and I love making things. Ι design new web technologies implemented in browsers, and tools used by millions of developers. As a W3C TAG member, I review web technology proposals to ensure they benefit the Web. I’ve done HCI research at MIT on democratizing web development, earning me a PhD. I speak, teach, and write, including a bestselling book with O’Reilly, dubbed “Best CSS book”. I often blog about all this – and more!

Learn more about me

Blog

  1. State of HTML 2023 now open! 7 min 0 comments
  2. Numbers or Brackets for numeric questions? 11 min 0 comments
  3. Help Design the Inaugural State of HTML Survey! 6 min 0 comments
  4. Going Lean 14 min 0 comments
  5. Rethinking Categorization 7 min 0 comments
  6. 11ty: Index ALL the things! 7 min 0 comments
  7. Migrating Disqus from WP to 11ty 7 min 0 comments
  8. JS private class fields considered harmful 3 min 0 comments
  9. Contrast Ratio has a new home — and this is great news! 2 min 0 comments
  10. Position Statement for the 2022 W3C TAG Election 4 min 0 comments
  11. State of CSS 2022 now open! 3 min 0 comments
  12. On ratings and meters 4 min 0 comments
  13. Help design the State of CSS Survey 2022! 2 min 0 comments
  14. What is the best way to mark up an exclusive button group? 2 min 0 comments
  15. Introducing Rety: live coding, without the stress 4 min 0 comments
  16. Releasing Color.js: A library that takes color seriously 4 min 0 comments
  17. On Yak Shaving and <md-block>, a new HTML element for Markdown 2 min 0 comments
  18. Custom properties with defaults: 3+1 strategies 6 min 0 comments
  19. Inherit ancestor font-size, for fun and profit 9 min 0 comments
  20. Is the current tab active? 6 min 0 comments
  21. 82% of developers get this 3 line CSS quiz wrong 3 min 0 comments
  22. Dark mode in 5 minutes, with inverted lightness variables 9 min 0 comments
  23. Mass function overloading: why and how? 6 min 0 comments
  24. Writable getters 7 min 0 comments
  25. Position Statement for the 2020 W3C TAG Election 7 min 0 comments
  26. The case for Weak Dependencies in JS 8 min 0 comments
  27. Simple pie charts with fallback, today 5 min 0 comments
  28. The -​-var: ; hack to toggle multiple values with one custom property 4 min 0 comments
  29. The failed promise of Web Components 6 min 0 comments
  30. Developer priorities throughout their career 4 min 0 comments

More blog posts