Interview with Max Stoiber | Creator of React-Boilerplate and Styled-Components
Max Stoiber is an open source developer who has worked on a multitude of open source projects that many of us know today in the web development world, such as Styled-Components and React-Boilerplates. In my recent conversation with Max, we talked about his journey as a developer and how open source has changed his life (more interview details in the video).
Max isn’t your ordinary developer who earned a college degree and went on to build amazing things. He dropped out of college twice simply because he wasn’t interested in what was taught in college. Instead, during the majority of his time, Max would continuously work on coding projects for his own enjoyment. His strong passion led him to building unique tools such as sharingbuttons.io. As his skills and passion for coding further grew, he ended up working on some open source projects that would affect millions of developers worldwide.
Most influential ideas and products started off as a solution to one’s personal problem. It’s quite rare to find a successful product initially developed with large-scaled incentives, unless of course, you’re talking about large corporations. Initially, Max found it irritating that every time he started a new React project, he would have to build the same templates again from scratch. Realizing this problem, he went on to build React-Boilerplate, which allowed developers to use preset templates when they started a new React project. And just like most innovative ideas explode out of nowhere, Max’s GitHub repository blew up overnight, initially going from 25 stars to 500 stars (now at ~25,500 stars).
Similarly to React-Boilerplate, Max’s next open source project, Styled-Components, focused on developer experience and easing the development process. Originally, CSS wasn’t built for highly dynamic interactive components. To allow developers to create more complex user interfaces, Styled-Components uses the power of JavaScript to render HTML tags and implement CSS.
Example: Creating a styled button using Styled-Components:
import styled from 'styled-components'
const Button = styled.button`
/* This renders the button above */
background: transparent;
border-radius: 3px;
border: 2px solid palevioletred;
color: palevioletred;
margin: 0 1em;
padding: 0.25em 1em;
`
Which produces the following styled button:
After Max made huge contributions to the development world with the conveniency of React-Boilerplate and Styled-Components, he then went on to create an open source real-time chat application platform called Spectrum (similar to Slack).
While Spectrum is indeed very promising and is also elegantly put together for an amazing user experience, Max encountered several problems during development. Some of them being: difficulty transitioning from web app to mobile app, not being able to scale, and not implementing the right features for users. He goes on to describes various regrets from Spectrum as well as some valuable lessons he learned throughout the development process.
Regrets
(1) Not using React-native web for transitioning features from web to mobile app
(2) Not going mobile-first
(3) Using RethinkDB and not being able to scaleLessons Learned
(1) Optimize for iteration speed and flexibility
(2) Use existing solutions to problems you do not understand deeply
(3) Carefully choose core technologies that are hard to change later
An experience like this is what taught Max valuable lessons that he would carry on with him in his career. After working on Spectrum for several years, he went on to work for GitHub and is now a Staff Software Engineer at GatsbyJS.
All in all, the beauty of open source is that it allows an idea to be continuously improved upon by expert developers. Also, forget monetization; open source by its plain nature allows people from across the world to use software as possible solutions to their problems. And this is what ultimately matters to Max; being able to help millions of developers across the world by making web development easier to interact with.
A fear most people have for starting an open source project is that their code isn’t good enough to be put out there and for other people to use. Max strongly stands against this thought. As a young developer during his college days, Max states that his code wasn’t good at all. The process of coming up with an idea, coding it, and making it work is what truly matters. As an open source project gains popularity over time, some modifications would eventually have to be made. Regardless, continuing to work on projects you are proud of and impacting the community is what you should be aiming for.
Overall, Max’s journey not only teaches us the impact of open source development, but it shows that a strong, relentless passion for something can change the world.