What are developer community projects?
Tags: showdev, opensource, devrel, community
Published: 2019-02-04 19:09:02

---
title: What are developer community projects?
published: true
description: "See what makes a great community project and why they're a favorite tool of companies like Twilio and Algolia."
canonical_url: "https://developermode.com/blog/what-are-developer-community-projects/"
tags: ["showdev", "opensource", "devrel", "community"]
---

![Top community projects](https://res.cloudinary.com/dzello/image/upload/f_auto,q_auto,w_800,c_scale/developermode/promo-3)


> **Successful developer communities aren't built by marketing, and sometimes happen in spite of it.**
—[Tom Wentworth](https://tomwentworth.com/a-primer-on-developer-marketing-47d792d67586)

Here's a tension every developer-focused company faces: you need to reach your audience, but traditional business-to-business marketing tactics aren't effective.

Developers famously ignore traditional B2B marketing campaigns like white papers, gated content, webinars, cold outreach, and paid advertising. The way that developers _do_ learn about new tools and techniques is usually **from other developers**. Any message from a company that "smells like marketing" is likely to be ignored or met with skepticism.


> **Developers have, out of necessity, built up an immunity to traditional marketing tactics.** — [The New Kingmakers](https://thenewkingmakers.com/) by Stephen O'Grady

So to get noticed, developer-focused companies need to **think and act like developers themselves**. What does that mean? It's all about getting more hands-on. 

![Sweden Civictech hackathon](https://res.cloudinary.com/dzello/image/upload/f_auto,q_auto,w_700,c_scale/developermode/civictechsweden-hackathon)

Developers learn by doing. They frequently share their newly acquired knowledge with their peers by writing blog posts, sending tweets, posting on DEV 🙌, giving talks and putting code up on GitHub. Dev-focused companies can do these same things and create more awareness for their product or service.

When an _individual_ developer creates something exciting for their peers, it's usually called a side project_. When a dev-focused _company_ creates a project to inspire their community, we call it a **community project**. They're a great way to connect with developers who are jaded by the usual marketing noise.

> **Developer community projects encourage hackers and explorers to learn about new technologies in a low-risk, hands-on environment.**

These projects provide value to the developer community while simultaneously driving business results for the parent company. Yet, they can be hard to pull off, requiring not just writing code but a larger cross-functional effort that often includes design, product and marketing.

To help demystify the process, we've pulled together some of the most **successful and compelling examples of developer community projects,** along with a list of key criteria they share in common. We also spell out some of the benefits that make them a tool of choice for companies who market and sell to developers.


## Community project criteria

Community projects come in different shapes and sizes, but there are a few common attributes that stand out:

- Value to the community
- Depth and interactivity
- Unique brand & smart packaging


### Value for the community

This is the most important criteria for a community project. More than just a thinly-veiled attempt to get developers to try your service without any payoff, it has to be useful.

One way to add value is to create an **educational resource**, like [JWT.IO from Auth0](https://jwt.io/). JWT.IO teaches developers how to use JSON web tokens (JWTs) in a straightforward and thorough way, and it adds a whole new dimension of value by including an interactive debugger.

Another way to give value is by making a **tool that solves a problem**, like [Algolia's DocSearch](https://community.algolia.com/docsearch/). DocSearch makes it possible to search the documentation websites of open source projects, addressing a historical pain point with docs that are published to the web. It's completely free for any open source project maintainer and Algolia engineers personally help new maintainers get onboarded.

![Algolia DocSearch](https://res.cloudinary.com/dzello/image/upload/f_auto,q_auto,w_800,c_scale/developermode/algolia-docsearch-screenshot)

A third way to add value is to create an **open source library, plugin, or framework** that helps developers build their applications. Look no further than Stripe and their [gorgeous open source page](https://stripe.com/open-source) to see this approach in full swing. Many of these projects have developer communities of their own and are especially powerful awareness generators and brand builders for Stripe.

![Stripe Open Source](https://res.cloudinary.com/dzello/image/upload/f_auto,q_auto,w_800,c_scale/developermode/stripe-open-source-screenshot)

### Depth and interactivity

**Developers learn by doing,** so a repository of code that can be cloned and run locally will be more engaging and effective than a static blog post. The more hands-on, the better.

If a community project aims to teach, it's good to have a demo along with step-by-step instructions for walking through it. Some of the best projects spice things up with an interesting data set or a few fun GIFs.

And then there's TwilioQuest. [TwilioQuest](http://twilio.com/quest) turns the experience of learning to use the Twilio API into a full-on role-playing game complete with retro graphics, custom avatars, personalized missions, and experience points.

![TwilioQuest](https://res.cloudinary.com/dzello/image/upload/f_auto,q_auto,w_800,c_scale/developermode/twilio-twilioquest-screenshot)
 
_"TwilioQuest is an interactive, self-paced game where you learn how to Twilio. TwilioQuest introduces Twilio products, features, and concepts while rewarding you with experience points and loot."_ 👾

Another way to get depth is to showcase a variety of technologies working together, which was Stream's approach when they created [a React & Redux tutorial called Cabin](https://getstream.io/cabin). More than a simple lesson, Cabin is a platform for learning *6 different APIs*. Each API gets its own unique tutorial and adds useful functionality to the end product: a full-fledged image sharing app that developers build as they progress through the lessons.

![Stream Cabin](https://res.cloudinary.com/dzello/image/upload/f_auto,q_auto,w_auto,c_scale/developermode/stream-cabin-screenshot)

### Unique identity and smart packaging

Community projects commonly have their own branding, logo, and colors, often tied to the company's brand but separate enough to making the experience feel too commercial and raising skepticism. A community-friendly identity will also make the project feel more inviting to participants and contributors.

One great example of project branding is [MJML from Mailjet](https://mjml.io/), which is an open source project that makes it easy to create responsive email designs. MJML stands for "Mailjet Markup Language," but on the landing page the company reference is subtle, and the project has its own unique and attractive visual identity. In fact, the parent brand is mentioned only in the footer of the landing page. **This approach leaves the impression that, with MJML, Mailjet cares more about providing a useful tool to developers than about promoting its brand or pushing signups.** 

![MJML](https://res.cloudinary.com/dzello/image/upload/f_auto,q_auto,w_800,c_scale/developermode/mailjet-mjml-screenshot)

But packaging goes beyond branding and design alone. Developer-focused analyst firm [Redmonk](https://redmonk.com/) describes the [concept of packaging in software](https://redmonk.com/rstephens/2017/02/15/monkigras2017/) as it relates to ease of setup and use, quality of documentation and how well its story is told and understood. 

**Good community projects excel at packaging and delivering a great overall developer experience by having:**

*   Clear, up-to-date documentation including a README
*   A getting started guide with tutorials for common use cases
*   Clear contribution guides and a code of conduct 
*   A known path to report bugs or get help, e.g. issues and PRs
*   A way to get project updates, e.g. through twitter, chat or email

One well-packaged community project is [Probot by Brandon Keepers](https://probot.github.io/) of GitHub. The custom logo, docs, and gallery of community-built apps all inspire confidence and make it seem fun and easy to dive right in.

![GitHub Probot](https://res.cloudinary.com/dzello/image/upload/f_auto,q_auto,w_800,c_scale/developermode/github-probot-screenshot)

## Benefits for companies

When companies build community projects, developers come away with new tools and knowledge, but they're not the only ones who stand to gain. **A company's successful community project will benefit every one of its teams.** It gives the marketing and sales teams something interesting to talk about on the blog, at conferences and on sales calls. For every team, it builds morale as something to be proud of, and increases everyone's understanding of how the developer-customer thinks.

Let's look at each of the following benefits in more detail:

- User acquisition, activation, and retention
- Reaching developers years ahead of time
- Inspiring content, product, and culture
- Building the community reputation
- Helping recruit top engineers


### Drive user acquisition, activation, and retention

**When developers find a cool project, they naturally become curious about who's behind it.** That curiosity often leads them to click through and check out the company who made it.


> **"JWT.IO is right now one of the top referrers for traffic and signups to Auth0. It's also visited by millions of developers every month."** — Martin Gontovnikas, on his blog at [gon.to](https://gon.to/2018/12/13/content-products-the-new-way-of-doing-content-marketing/)

Another serious traffic driver is [StaticGen](https://www.staticgen.com/) from Netlify, which tracks the popularity of static site generators. The leaderboard changes frequently but Netlify's scripts keep the site up-to-date, **incentivizing developers to come back and check often.** A few years old now and a topical authority, StaticGen is an example of a community project with tremendous SEO value.

![Netlify Staticgen](https://res.cloudinary.com/dzello/image/upload/f_auto,q_auto,w_800,c_scale/developermode/netlify-staticgen-screenshot)

### Reach developers years ahead of time

Cristiano Betta, in his article _[Understanding Developers](https://betta.io/blog/2017/02/23/understanding-developers/)_, considers a developer's relationship with a new tool or technology in light of their levels of _motivation_ and _persistence._

The groups he dubs _hackers_ and _explorers_ are the most likely to try out new tools for the sake of learning or curiousity, and **not** because they have an exact problem to solve. By far, they represent the largest groups of potential new users. 

![Hackers and explorers](https://res.cloudinary.com/dzello/image/upload/f_auto,q_auto,w_700,c_scale/v1548295593/developermode/developer-motivation-persistence)

Community projects help companies connect with these two groups, widening the marketing funnel and **creating an opportunity to put a tool in a developer's hand months or years before it might have otherwise**. When the developer eventually finds themself in a position to recommend or buy the company's product, the work the company did to connect with that developer early and stay top of mind will pay off.


### Inspire content, product, and culture

**Community projects tend to be long-lived and evergreen,** making them a recurring opportunity for dev-friendly content that can be repurposed across blogs, social media, podcasts, newsletters, and even in sales situations as a value-offering conversation opener.

Just look at how MailJet extends the impact of MJML across all its channels. They’ve written around 20 articles that incorporate MJML, from basic project updates to comprehensive tutorials covering subjects like “[How To Code An Abandoned Cart Email With MJML](https://www.mailjet.com/blog/news/templating-language-tutorials-abandoned-cart-email/).” 

![Mailjet blog](https://res.cloudinary.com/dzello/image/upload/f_auto,q_auto,w_800,c_scale/developermode/ss-mailjetblog)

Sometimes, community projects are so successful they lead to product spin-offs, which is exactly what MailJet did when they released their [MJML desktop app](https://www.mailjet.com/blog/news/mjml-gets-its-own-desktop-app/).

Last but not least, community projects influence internal culture. They're something new that everybody in the company can get excited about, benefit from, and usually contribute to. **This increases developer empathy across the board**, improving the effectiveness of both engineers and folks in customer facing-roles.

> **"Open source projects have really had an impact on Algolia as a whole, they changed the the way we develop and really inspired the community."** — [Vincent Voyer](https://twitter.com/vvoyer), Lead developer support engineer, Algolia

### Build community reputation

**Valuable contributions build trust that a company is a positive actor in the developer community.** Coming to every conference just to sponsor or pitch their product does not.

An active community track record makes everything easier down the road, like securing high-profile sponsorships, keynote speaking slots, getting introductions to influencers, and being offered opportunities to partner with companies further upfield.

Algolia was able to build relationships with hundreds of open source maintainers by freely giving away DocSearch amongst other initiatives including the [Yarn package search](https://blog.algolia.com/yarn-search-javascript-packages/) and a commitment to [financially back open source projects](https://stories.algolia.com/why-were-backing-opencollective-and-webpack-39e39838f18a).

### Recruit top engineers

Software engineers want to work for a company that values community participation and offers learning and contribution opportunities for their employees. In fact, **according to the 2018 StackOverflow Developer Survey, [56% of professional developers contributed to open source](https://insights.stackoverflow.com/survey/2018/#developer-profile-contributing-to-open-source)**. 

Although [Stripe's open source page](https://stripe.com/open-source) is certainly appealing to potential _users_ of Stripe, its most influenced audience might be engineers who are considering where to work next. As the presence of the "By Stripes" category implies, **public participation in open source projects backed by well-respected companies is a sought-after resume and career builder**. 

But Stripe's not alone. Even though AirBnb's customers aren't developers, they have a super impressive page to show off their community contributions that undoubtedly helps them attract top talent, claiming that ["Open source is at the heart of what we do at Airbnb."](https://airbnb.io/projects/)

![AirBnb Open Source](https://res.cloudinary.com/dzello/image/upload/f_auto,q_auto,w_800,c_scale/developermode/ss-airbnb.jpg)

## Start a community project

Community projects combine a valuable resource, a good user and developer experience, and a unique identity to make something useful for developers, raising awareness naturally for the project's creator in the process. It's a win-win situation.

Are you interested in launching your own now? 🛠️ 😄 Have a favorite community project that wasn't mentioned but devs should know about? Leave a comment and let's discuss 🤓

*originally posted at [https://developermode.com/blog/introducing-developermode-reaching-developers-through-code/](https://developermode.com/blog/introducing-developermode-reaching-developers-through-code/)*