How do you build a successful open source project? For Font Awesome co-founder/CEO Dave Gandy the recipe is simple. “Find a community in need and translate the dark arts for them.”

Gandy did this by figuring out how to use font files as a vessel to deliver easily-styled icons to front-end developers. As a result, Font Awesome is now used by Khan Academy, DoorDash, the Washington Post, the Onion, and is a fixture of WhiteHouse.gov (an upgrade made by the prior tenant).

Font Awesome is the 11th most popular project on Github with 48,687 stars and 8,473 forks. In 2016, Fonticons had more contributors than any other project on the platform. It also holds two Kickstarter records — it is the most funded ($1,076,940) and most backed (35,550 pledges) software project in the crowdfunding site’s history.

Clearly, there is much to be learned from Font Awesome’s success, both about how to ignite a passion for something as seemingly prosaic as icons and how Kickstarter might be an ideal, alternate means of funding for many open source projects. I asked Gandy to share some of his insights:

How Font Awesome Came to Be

Before we get into what makes Font Awesome, well, awesome, let me explain what it does in more detail. In 2012, the year the company was founded, most developers handled icons on websites by managing individual .png files or controlling clumsy sprite maps with CSS. A small group of “alpha geeks” used icon fonts, which made the glyphs easier to style, but also broke screen readers.

A selection of Font Awesome’s wares.

For instance, a “check mark” icon would be mapped to the “K” key in an icon font, leading screen readers to announce a bewildering string of unrelated letters to users any time an icon was use. Gandy saw the promise of icon fonts and looked for ways to solve their technical shortcomings.

The solution came to him after learning that there was a “private use area” inside of font files reserved for arbitrary applications. By putting the icon graphics in that space, the fonts could deliver stylish icons to the sighted without introducing erroneous letters that confused the visually-impaired. “Font Awesome was a small technical shift, but one that made accessibility dead simple,” says Gandy. This elegant hack, inspired by a drive to improve accessibility, has become the backbone of a widely-used tool that streamlines development in many other ways.

How Do You Build Something People Want?

There’s a big difference between solving a problem technically and getting users to undertake the workflow disruption to use it. Gandy says that developers evaluate new frameworks and tools against an invisible checklist of requirements — Does it save time? Use all known best practices? Expand capabilities? Add stability? — and the more of them your tool checks (including ALL of the technology best practices), the more likely they are to use it. “Every field has a few nasty curmudgeons,” says Gandy. “They know their stuff backwards and forwards and immediately scoff at projects that don’t get it ‘right.’ They’re awesome.”

Product management is the fine art of solving this problem, but Gandy offers two simple constraints to help in the development process. First, confine the problem you are solving so that it can be solved in one month of your time. Second, make it simple enough so that your users can start using it by adding one line of code.

You Get One Month…

Like another of our portfolio companies, Ionic, the first version of Font Awesome was launched just a month after Gandy envisioned it. This is a good yardstick to measure your project against. If you can’t provide tangible value to the developer community by putting in a month of hard work, perhaps your goals are too ambitious or not focused enough on a clear use case?

The idea here isn’t that what you build in one month will be the sum total of your project or company, but it is an elegant way to prevent feature creep. Stop thinking about a sprawling product roadmap and instead focus on the one thing you can do to make a developer’s life easier. Somewhat non-intuitively, embracing constraints has a strange way of actually making things far better. Embracing constraints head-on is another one of those non-intuitive secrets.

…And One Line of Code

The easiest way to get traction is to build an adjunct to an already popular product. FontAwesome targeted developers who were using what was then called Twitter Bootstrap. Gandy used Bootstrap’s naming conventions so that engineers could swap in Font Awesome by copying and pasting a single line of code. “If you knew how to style text with CSS, you knew how to use Font Awesome,” says Gandy.

This is incredibly important. It’s not enough to solve a problem for a user; you also have to convince them that it is worth scaling the learning curve for.

Measure your user experience by its “copy and pasteability.” How fast can someone get up and running? Put another way, make your tools powerful enough for the elite, yet simple enough for the noob.

How to Sell

Once you build something people want, how do you get it out to the masses? The surprisingly simple answer Gandy offers is to post it on Hacker News. ProductHunt and blogs are both good backups, but according to Gandy, if you’re looking to get the word out about a new open source tool, nothing comes remotely close to Y Combinator’s forum.

Marketing is important, but don’t think that you’ll be able to get a so-so software project off the ground based on off-the-shelf growth hacks. An earnest presentation at a hacker meetup will fall on deaf ears unless your product is truly transformative. “No one cares about evangelization. You gotta make something really useful. Like 10x better,” says Gandy. That said, there are some things that can be done on the margin:

Know Thyself

Part of what makes FontAwesome successful is that they care deeply about the design-focused developers who are their core users. For instance, there is a Font Awesome barcode icon actually scans and spells “FA”. Gandy says, “I’d forgotten I’d ever done it until someone called it out on Twitter.”

This humble barcode generates a surprising amount of goodwill.

It is technically pointless, but it’s just the kind of grace note that signals that Font Awesome understands the importance of aesthetics, and fun. Font Awesome is not some soulless dev tool maker, but the kind of team that cares about details no one may ever even see, like a gratuitous glyph, just for the joy of it. This resonates with a certain kind of developer.

Find Your Geremia

For those that live in the world of code, providing customer service for a successful project can be a surprising challenge. All of sudden you need to manage thousands of pull requests, answer questions about implementation, and dozens of other tasks. Gandy’s advice is to find good samaritans in your community and deputize them to help.

Geremia Taglialatela was appointed by Gandy to watch over Font Awesome on Github, to upvote positive contributions and burn down open tickets, to destroy and overthrow abuse, to build and to plant a thriving open source community.

He’s become a core contributor to the project and spends 20+ hours a week resolving issues with users, helping manage pull requests, and surfacing latent needs from the users. It’s an extraordinary amount of work, a huge benefit for the team, and to date, his only compensation has come in the form of some beautifully designed swag and encouragement.

This attention to community pays off. When Gandy sent out a 45-minute survey to the community in an effort to better understand the needs of power users, over 6,000 people took the time to fill it out, a testament to the community Taglialatela helped to build. If your project is lucky enough to attract someone of his caliber, treat them like gold.

Tell Stories Only You Can Tell

Content marketing is a great tool, but too often founders fail to produce truly useful content. As with your product development, think about how you can use words to truly change a developer’s work-life. The Font Awesome team doesn’t blog often, but after they shattered several Kickstarter records, they had shared their playbook for others to follow.

Read the whole thing here:

How to Make Money on Kickstarter

Font Awesome is still in the early days of turning its immense user base into a stream of ongoing revenue, but it has proved beyond belief that Kickstarter is a serious funding source for open source. To put it in perspective, Gandy raised twice as much from his users in this campaign as he did from his venture capitalists to date. That’s an encouraging sign and a model that more projects could stand to follow.

It’s not crazy to imagine a future where some projects that truly don’t fit the venture model figure out a way to co-opt the pledge drive format popularized by NPR, and more recently, Wikipedia. Just imagine a Patreon for pull requests.

Be warned; this is harder than it looks. A key part of Font Awesome’s success has been the carefully-cultivated user enthusiasm, built up over years. One surprise for Gandy was that asking for money actually built goodwill among the users. He had expected users to grumble about the cash grab and that there would be some backlash, but instead they were enthusiastic to back the project.

“We chanced into one of the great open source monetization tools,” says Gandy. “We’re not asking you for money; we’re asking you to support something you love.”

You don’t have to be original, just good.

If you watch the Font Awesome Kickstarter video, you’ll notice immediately that it was inspired by the iconic Dollar Shave Club video. The smooth-talking pitchman, the colorful cast of characters, the non-sequiturs are all there, but so are so funny jokes about icon management. It’s a parody, but it works. Don’t overthink your strategy, just be sure to execute like crazy against whichever strategy you choose.

Do It Yourself. Fail. Then Hire a Pro.

When it comes to explaining marketing to neophyte techies, Gandy offers a three step process. Try doing it yourself. Sometimes fail. When you do, it’s a good thing because now you know enough to hire someone who knows what they’re doing better than you do.

Sometimes it turns out you can do it better than other folks. But for the rest of the cases, hire a professional. And now that you’ve screwed it up, you know how to hire the perfect person.

For instance, prior to setting records on Kickstarter, Font Awesome ran a campaign that netted a still-respectable $80K and taught Gandy a tremendous amount. The most important lesson was that making a compelling video was really hard. Moreover, it’s hard in surprising ways. Gandy notes that his first video had “fine picture quality and a boring script delivered by someone who should not be on camera,” as he puts it.

This experience, and these learnings, directly informed their decision about who to hire to produce the video for the next campaign.

Transactional emails are marketing opportunities

Password resets and billing notifications don’t seem like revenue-generating opportunities, but Gandy claims that these quotidian dispatches actually drove more fundraising for his Kickstarter campaign than the “official” newsletters sent to the folks who signed up to be notified.

The team at Font Awesome has assembled a list of 150K email subscribers to their newsletter. They also have 400K email addresses for people who use their CDN service. Surprisingly, the content-driven emails converted at a lower rate than credit card billing invoices.

“Every single time we sent an update email, it added $10K to $40K to our total,” says Gandy. “Every single email.”

Just One Regret

Gandy and company have done a remarkable job growing quickly and building a massive amount of traction around Font Awesome, but he does have one regret. “We should have made paid version sooner,” he says. The company is doing fine financially, but it could be further along. So follow Gandy’s advice in this post, but don’t forget about the $$$.