Today, I’m excited to announce Awesome Stacks - a community-curated list of tech stacks, starter kits, and boilerplates to help you decide how to build your next feature or application.
Awesome Stacks is inspired by Awesome Lists. There are thousands of awesome lists covering almost any topic you can think of, from data science to GitHub Actions to interview questions. Awesome lists grow quickly in crowdsourced fashion because contribution is super easy—it’s just editing a README markdown file on GitHub.
Personally I’m a big fan of awesome lists. Two years ago I started my own list called awesome-json-datasets, and in February I joined StackShare as a developer evangelist 🎉 Naturally I knew what awesome list I had to create next.
StackShare has always been all about stacks, but we’ve never shown you specific stacks, boilerplates and starter kits that you can use to start a new project. Until now 😏 This Awesome list goes along with our mission of helping you learn about technology through the people and companies you trust, and all open source on GitHub.
So what is an awesome stack? Let’s look at an example.
This is React Native with Expo and Hasura and was contributed by Sezgi from the StackShare team. It’s a stack for building and deploying an end-to-end React Native app that uses GraphQL on top of Postgres. The logos are for Hasura, React Native and Expo, which are the key tools in this stack.
Each awesome stack is included in the awesome-stacks README on GitHub, but we’ve also created a companion website that automatically pulls in additional data about each tool: awesomestacks.dev. Each stack gets its own page, and the tools are enriched using the GitHub and StackShare GraphQL APIs. It’s built with Gatsby, React and of course GraphQL—you can see the stack here.
Here’s the page for React Native with Expo and Hasura.
Contributing a stack
Adding a stack is as simple as adding text to a Markdown file. All the HTML/JS/CSS for awesomestacks.dev is built automatically from the README using Gatsby, so you don’t even have to clone the repository to contribute. The site is hosted on Netlify and re-built each time there are new commits.
On the README, the React Native with Expo and Hasura stack looks like this:
What are the emojis all about? They’re links.
See the Contribution Guide on GitHub for a step-by-step guide to modifying the README and adding new stacks or improving existing ones.
What makes a stack awesome?
A central question of any awesome list is why should something be on here? That question applies here too: there is no one single definition of an “awesome stack”.
For this list, an awesome stack is simply a collection of tools that you have used (or can verify others have used) to build some kind of application or feature, or solve some kind of problem. The tools in each awesome stack should be easy to integrate and use together.
That’s the only thing that’s required. On top of that, we prefer to have stacks that have been written about in the community and ideally have starter kits or boilerplates associated to them. First, that provides evidence that the combination works. Secondly, and more importantly, it means that there are helpful resources already available for the developer who finds the stack on Awesome Stacks and wants to try it out right away.
Awesome Stacks is ready today for you to start browsing and contributing to, I just counted 15 stacks and 61 tools already on there so far. Here are a few links to get started:
- Visit awesomestacks.dev
- Visit the stackshareio/awesome-stacks GitHub README
- Check out the Contribution Guidelines
- Check out the Code of Conduct
- Submit a pull request for a stack you’d like to create
If you have any questions, just email me, Justin, at my shiny new StackShare email address. Thanks for reading!