// the find
segmentio/evergreen
🌲 Evergreen React UI Framework by Segment
Evergreen is Segment's React component library — buttons, dialogs, selects, tables, etc. — built on top of their own CSS-in-JS primitive (ui-box). It's aimed at teams that want a decent-looking admin/dashboard UI kit without building one from scratch, and that are fine with CSS-in-JS over utility classes or CSS modules.
Components are built on a shared Box primitive from ui-box, so you can override styling with regular style props instead of fighting a theming API for every edge case. SSR is a first-class concern — there's an explicit extractStyles() API for hydration, with a documented Next.js example, which a lot of CSS-in-JS libraries get wrong or bolt on later. The project ships dedicated jscodeshift codemods for its major version bumps (4.28→4.29, 5→6, 6→7), which is rare — most UI libraries just hand you a changelog and wish you luck. At 12k+ stars with active CI and a Storybook-backed docs site, it's clearly used in production somewhere beyond Segment's own dashboard.
It's a single-vendor project — Segment (Twilio) builds this for their own product first, community contribution second, so its roadmap depends on Segment's internal priorities, not community demand. CSS-in-JS via ui-box means runtime style computation and no mention of a build-time extraction step outside SSR hydration, which is a step behind where the ecosystem has moved (vanilla-extract, Tailwind, CSS modules) on bundle size and runtime cost. The README's only usage example is plain JS with no TypeScript sample, so you can't tell from the front door how good the type definitions actually are — you'll find out after you've already added the dependency. The theming system is described in marketing terms in the FAQ ('full control when needed') without any concrete API shown in the README, so evaluating whether it fits your design tokens means reading the full docs site, not just skimming this page.