A lightweight library for building web components ⚡️
Elena builds lightweight web components with progressive enhancement, lazy hydration, and SSR support.

Ariel Salminen introduces Elena, an open-source library for building web components that work with plain HTML and CSS first, then hydrate with JavaScript.
Elena tries to address the usual pain points of web components: layout shifts, flashing, accessibility problems, and SSR challenges. And it weighs just ~2.6 KB.
Main features:
- 🧩 Progressive enhancement out of the box: HTML/CSS first, then JS
- ⚡️ A minimal runtime (~2.6 KB)
- 💤 Lazy hydration (you can control when a component “comes alive”)
- 🖥 SSR-friendly: works properly with server-side rendering
- 🎯 A focus on accessibility (a11y)
- 🧱 Plain Web Components without framework wrappers
Web components are becoming increasingly attractive: the barrier to entry is falling, and old problems are gradually being solved.
Have you tried building applications entirely with web components? How did it feel after React/Vue: fine, or painful?