Mark Shlick and I are UI engineers. We meet up every week to talk shop, and riff on ideas. One idea came up, that could make UI engineers more productive, and increase how much work is reused.
Neither of us have bandwidth to work on it, so we wanted to share it with you. If this excites you, please build it — it would definitely earn you some love from us, and maybe more from the community.
React Components reshaped our job as UI Engineers. JSX and the idea of having UI be a pure function of props made it simple to share and re-use components in our apps.
This allowed us to reduce how complex our codebase grew. We even built internal component repositories, to showcase and discover components teammates could reuse.
Now, we re-use react components internally, but could we take it a step further? Could we share components as a community?
We already have great open source components, from date pickers to phone number inputs. To demonstrate these components though, the authors have to go to great lengths to help you find and try them out.
What if there was a visual explorer for all open source components
Users could discover components visually
Developers could quickly demonstrate their components, from propTypes, to the different states they take up.
Developers could do this by adding some sort of dotfile in their repo.
Users could play with these components, a la codepen
If this works out, the number of components that are open sourced would increase, the number of people who discover these components would increase, and developer productivity would increase. One natural conclusion here would be to also allow developers to sell components too.
Now, there are some hard questions to answer to make the opportunity pan out. First, it’s still not easy to style and customize components. Most UI Engineers will want to do this heavily. Creating some standard here could go a long way. Monetarily, even though this could save engineering time, we’re not sure the pain point is high enough for many people to pay.
If you’re still excited, give it a shot!
Well, that covers the idea! If you think this could be cool to, and you have some bandwidth, try to take it on.