Lattice
Primitivos UI open source con foco en accesibilidad, tree-shaking y cero CSS por defecto.
- TypeScript
- React
- Vite
- Vitest
- Storybook
Situación
Los equipos frontend gastaban ~30% del tiempo reinventando el mismo autocomplete, el mismo dialog, el mismo select con teclado. Y cada nuevo equipo lo hacía peor para el lector de pantalla.
Tarea
Crear una librería de primitivos UI que cumpliera tres promesas al mismo tiempo: accesible por defecto, tree-shakeable agresivo, y cero CSS inyectado.
Acción
- Primitivos diseñados cabeza abajo: WAI-ARIA primero, markup después.
Cada componente partía de un patrón validado en
react-aria. tsupcon rutas ESM/CJS separadas ysideEffects: falsepara que el bundler descartara lo no usado.- Sin hoja de estilos global: cada componente importa sus tokens
como CSS-in-JS atómico con
data-attributespara variantes. El consumidor decide el tema, no la librería. - Tests de comportamiento con Vitest + Testing Library sobre lo que hacen los componentes, no sobre su markup interno.
- Documentación viva en Storybook con axe-core automático en cada historia.
Resultado
- 420 KB → 9 KB en la app mediana que lo adoptó (gzip).
- 1.8k★ en GitHub, 14 contribuidores externos en 9 meses.
- Tres empresas lo usan en producción sin contactar al autor.