Uber's React system, built for configurability and theming across a sprawling set of internal and external products.
Why we like it
What we love about Base Web is the Overrides API, the most thought-through answer we've seen to a problem every system hits: how do you let teams customize deeply without forking the library? Every component exposes its named internal parts, and you can spread extra props onto one, restyle it with a function that receives the theme, or replace the underlying element outright, all per instance, all without leaving the system.
Underneath, it runs on Styletron, an atomic CSS-in-JS engine chosen to keep what ships small, which the team calls out as a kindness to people on slower connections. Accessibility is built in per component, including the fiddly cases like drag-and-drop lists.
Where it fits
Base Web fits React web teams who know they'll need to bend components and don't want to maintain a fork to do it. It's React and web only, so React Native or other stacks are out of scope.
Good to know the public repo now mirrors Uber's internal work rather than inviting much outside contribution, so momentum comes from inside.
Ideas to borrow
- 01.
Architecture
Expose each component's named sub-parts so consumers can override props, styles, or the element itself, instead of forking when the defaults don't fit.
- 02.
Theming
Let style overrides be functions that receive the theme, so even custom styling stays theme-aware.