Vue’s creation is funded through Evan’s Patreon account, which now pulls in over $16,000/mo, enough to cover his salary along with his new hire—a developer dedicated to triaging issues. Had he relied on one-off donations and small pledges from other developers, Evan might never have gotten enough support to go full-time (more on how he did that below).
In our conversation, Evan shared how he transitioned Vue from a side project to a full-time endeavor, the money-making strategies he recommends (based on what type of programming you do), and what helps him succeed as an independent, open source developer.
Want to fund open-source development (or other dev projects)? Try Patreon.
Why trade a position at Google for independent development? Here’s why (and how) Evan became an open source developer.
Vue began in the evenings and weekends of Evan’s life in mid-2013. At the time, he was working as a Creative Technologist at Google Creative Labs. His team did rapid prototyping in one or two-week-long sprints.
“I just felt my time would be better spent on working on Vue, that I would create more impact and more value,” he said.
Throughout his four years at Google and at Meteor, Evan worked on Vue in cycles. When he felt productive, it consumed his spare time. Other times, he would go weeks without touching the project.
His efforts mirrored Vue’s organic growth pattern. “I shipped some major features. Then, Vue got a group of new users. Then, over time, I’d get a bunch of feature requests and new ideas and I would work on it again,” he recalled. And the cycle would repeat.
Each time he launched new features, more users would find and use Vue. He didn’t promote Vue. Instead, it spread by word-of-mouth when developers recommended the framework to their colleagues.
He never thought about making Vue his full-time job until Taylor Otwell incorporated Vue in his PHP framework, Laravel, in early 2015. The resulting surge in visibility and users prompted Evan to push out version 1.0.
To do that, Evan spent all of his vacation days in 2015 on Vue’s development. “A lot of people wouldn't even look at the software if it's zero-point-something. They’ll say, ‘Oh, it’s unstable.’ So 1.0 really marked that Vue is stable and ready to be used,” he explained. Getting it to that point was necessary if he wanted to grow his usership enough to make a living.
So, in October 2015, he launched Version 1.0 of Vue. And in February 2016, 2.5 years after starting Vue, he became the project’s first full-time developer.
- 2013: Evan starts Vue in his spare time while working at Google.
- 2015: Evan spends all of his vacation time to ship v1.0 in October.
- 2016: Evan begins full-time work on Vue, funded through Patreon.
- 2017: Evan’s Patreon breaks $10k/mo.
- 2018: Evan hires his first full-time employee to fix bugs.
Evan didn’t just walk out of his office, cross his fingers, and hope something came through. When he quit his job in February 2016, he already had a plan of action: try Vue full-time for a few months and live off savings plus whatever he could raise on Patreon. If it didn’t work, he’d find a new job.
“I knew that even if it didn't work out, I'd be able to find a job at some other company. I wasn’t going to starve. That's the primary reason I was willing to just give it a try,” he recalled.
Fortunately, he had some early help: one of his friends was the CTO of Strikingly, which now regularly supports open-source projects (Evan’s was the first). They pitched in $3,000 to his Patreon campaign for the first six months. Combined with other patrons, he had $4,000/mo on Patreon one month into the project. That number grew organically over the next two years, parallel to the organic growth of Vue’s user base.
“Patreon was my first choice mostly because it took care of managing all the payment charges and all the things that if I were to do it myself would be a headache. With Patreon, I just point people to it and tell them ‘Look, everything is already here. You just need to sign up and put in a credit card and you're good.’
But the most important part is the recurring model. In the past, we've seen projects do one-time donations and, even with the scale of Vue today, the one-time donation is nowhere near enough to support any kind of full-time work. A one-time donation is not sustainable because people do it once and they forget about it. A continued sponsorship is necessary in order to make full-time work a possibility,” he explained.
In addition to Patreon, Evan has a mix of funding sources: royalties from books Vue users wrote, ad revenue from Vue documentation, fees from running workshops and training sessions, and donations on Open Collective. Some of those increase his take-home pay, but most (like money gathered on Open Collective and book royalties) are funneled directly into the Vue community.
Early on, Evan realized that individual developers wouldn’t contribute enough to make Vue viable in the way he wanted it to be. To make his Patreon a success, he needed to secure larger monthly contributions from companies.
So, he set up his reward tiers “kind of like you run a conference,” he said. “In the beginning, I had only one platinum spot. I felt like, ‘Wow, $2,000 a month...who would actually do that?’ And it turns out, once that got bought out, more companies started asking for the $2,000 tier. So I actually had to increase the spots.”
The sponsorship tiers work so well because Vue is a high-visibility project. The homepage alone garners over 700k impressions/month; for companies looking to get in front of a certain audience, those numbers are well worth the monthly cost for exposure.
In addition, many of these companies incorporate Vue into their own technology. It’s in their best interest to ensure Evan’s continued ability to keep Vue stable and improving. With their support, Evan can devote his time to triaging the problems they face when attempting to use Vue in their own development. At the same time, Evan still has the freedom to take Vue in the direction he wants because he isn’t dependent on any one company.
Evan’s project is well suited to corporate sponsorship, but that’s not true of every open-source project. Projects with larger teams would need even more funding; Evan’s works so well because Vue is a lean operation. Others just don’t have the visibility that Vue does.
He believes that, “for back-end developers, the way with the highest chance of making it a full-time job is to build a product around something that you have created. So first you need to have created something that people rely and depend on, and then you can create something that's connected with it and makes it even better. Then you can charge money for that product.”
He gave Sidekiq as an example of a good open-source project using the freemium model. The base version is free, but you have to pay a licensing fee for advanced features. Similarly, Taylor Otwell of Laravel built products like Spark and Nova that he charges money for (while keeping Laravel free).
“Because there are so many people using Laravel, people happily pay for those additional things to make their development experience better,” Evan explained.
For front-end developers, Evan thinks either his model or licensing fees are the way to go. “Some people just build commercial component libraries and charge for premium features like ag-Grid, which is a financial data grid component for front-end. I know they do really, really well and they just charge license fees for it.”
Another important aspect of fundraising for Vue is Open Collective.
“They hold the money for you in a nonprofit organization and all the money that goes out needs to be publicly expensed. So, Patreon is like my salary, but we use Open Collective for the community.”
For example, the Vue volunteers recently had a week-long team sprint in Poland. All volunteers who attended were able to expense their flight tickets and office rent to Open Collective. Evan finds it helpful to separate the public and private funds Vue receives and is open with donors about where their money goes.
While he offers backers the same rewards he offers on Patreon, he also has a $2/mo tier where developers basically tip the Vue team. Plus, individuals and companies alike can leave a one-time donation if they just want to say ‘thanks.’
If you’re looking to follow Evan’s career path, here are a few things that helped him—and Vue—become successful.
What many people don’t realize is that Evan wasn’t a computer science major. Instead, he holds a Master of Fine Arts degree. Programming is something he learned how to do himself. That background in art and design heavily influenced the direction he took Vue.
“The core idea of design is to really think about your users. What are you designing for, what’s your target audience, and what specifically is your target audience looking for? For example, a library is something to be used by other developers. So you need to think about other developers as your user, think about what they would need, what they would want, and what would make your library easier to use,” he shared.
“I think a lot of times when engineers with a traditional computer science background design something, they focus on the technical correctness and on how robust the internal implementation is. But when it comes to API design, that doesn't always translate into a pleasant-to-use API.”
“For front-end engineers in particular, I think learning about design is even more important because you are building interfaces that will get used directly by your users. Understanding some basic graphic design and user-interface design principles will help you better communicate with your designers and sometimes even enable you to build a full product yourself. It never hurts to cross into design as a programmer,” he added.
Evan’s background in design is why Vue has gained a reputation as being easy to use and beginner-friendly.
Vue wouldn’t be where it is today without a strong cohort of volunteers. It’s usually a good idea to welcome the assistance of other developers who enjoy your tool and want to improve it.
That said, it’s important to set expectations on both sides. As the lead developer, you can’t abuse their offers of assistance: it’s not realistic (or kind) to expect them to spend all their time bug fixing. At the same time, they need to be aligned with your vision for the tool.
Evan finds the right balance by assigning tasks and projects to volunteers when they’re interested in that particular job. They don’t have any minimum required hours, and they can leave at any time. Often, they’ve been kind enough to help with bug fixes as well. But, he doesn’t rely on them for bug fixing or critical improvements since they’re unpaid.
This year, Evan finally had enough funds available to hire a full-time developer. Prior to hiring help, Evan spent 50% of his time on bug fixing, 25% on seminars/conferences/training sessions, and 25% on improving Vue. Now, he’s hoping to reclaim some of that time to strategize and plan improvements for Vue.
“It's fair to say releasing your open-source project is really just the starting point in order to keep the project alive and make it stable and widely-used. It necessarily entails a lot of responsibility because inevitably there are going to be bugs. There are going to be weird scenarios where people just don't know what's happening and you'll have to help them figure it out. That is like full-on 24/7 call support, which is a tough job,” he elaborated.
If you’re able to hire a developer (even part-time) to help, it makes a big difference. In the meantime, plan on spending a lot of time triaging issues.
Evan learned early on that he needed to set working hours ahead of time to make self-employment feasible. It’s too easy to slip into bad habits of working all the time or not working enough when you don’t have to report to a manager.
“You need to have a lot of self-discipline to draw the line between work and life when you work at home. Sometimes I would get into the zone and forget about time and next thing you know my wife comes knocking on the door saying it's time for dinner!” Evan laughed. “It makes your work-life balance deteriorate if you don't pay attention.”
When Evan quit his job to work on Vue full-time, he was commuting to and from work for three hours every day. Working from home opened up so much more time for him to spend with family. Working independently isn’t easy, but he treasures every moment.
“When you're striking out on your own, you have to pay your own insurance. You no longer get all the benefits that a big company would provide. You take on more responsibilities. But in return, you get more freedom. You get more satisfaction and you’re able to focus more on things that you like. Overall, it's still definitely a net positive for me. I just enjoy working for myself so much more than working for a company,” Evan said.
Independent development isn’t for everyone, but it works well for Evan. Unlike his days at Google, he can finally see the impact his work has on an ongoing basis. And he can do that meaningful work at his own pace.
Want to hear more from Evan on how he started and grew Vue.js to where it is today? Listen to a full interview with Evan You on the Indiehackers Podcast, where Evan dives into even more detail on launching & growing Vue.js.