16 Awesome Elixir Open-Source Projects

Gints Dreimanis
Article by Gints Dreimanis
Friday, July 17th, 2020

For its age, Elixir has a lively ecosystem with a lot of mature and stable libraries.

While there are some obvious heavy-hitters such as Phoenix, there is also a multitude of cool, smaller-scale projects to use or check out.

To introduce you to the wonders of open-source Elixir, I have compiled 16 neat frameworks, projects, and libraries that I’ve recently encountered.

Here’s the list (further descriptions below):

Elixir open-source projects

Phoenix Framework

Phoenix

Phoenix is the main web framework of Elixir that’s reliable, fast, and scalable. In fact, a lot of other applications on this list have been built with Phoenix.

Phoenix uses the power of Erlang’s virtual machine to create extremely scalable web apps, extremely quickly. It is used by quite a few companies, with websites like Bleacher Report serving over 3 million daily users without problems.

To learn more about Phoenix, check out our introduction to Elixir.

Plausible Analytics

Plausible Analytics

Elixir has its own open-source alternative to Google Analytics. Plausible Analytics is a lightweight analytics tool that can run without cookies. If you want to switch your analytics to something simpler and more privacy-oriented, this is a nice choice.

To learn more about the project, you can listen to a podcast they did with The Changelog or check out their blog.

Bot libraries

With Elixir, you can easily create your own bots! Here are four libraries that can help you create bots for your Discord channel, Slack team, or Telegram:

  • Nostrum is a library for creating your own Discord bots. Here is an example of a simple bot you might be able to build with it, quickly.

  • Alice is a Lita-inspired Slack bot, written in Elixir.

  • Elixir-Slack is a Slack API library for Elixir. It features a GenServer-like behaviour for handling events, and, overall, is a pleasure to write stuff in.

  • ExGram is a library with an opinionated framework for writing Telegram bots.

The Changelog

The Changelog hosts a collection of podcasts on topics such as software, Go, Javascript, AI, and brain science.

If you want to see how a CMS written in Elixir might look, you can check out the one used by folks at The Changelog. While this is not a plug-in-and-play platform like Wordpress (and you shouldn’t use it for your own website), it is a good example of how applications like these are built in real life.

Bamboo

Bamboo is an email library for Elixir. With a functional approach to creating and sending emails and adapters for several popular mail delivery services, Bamboo is a great choice for adding email functionality to your Elixir or Phoenix app.

Remote Retro

Remote Retro is a nice cool app for doing sprint retrospectives as a remote team. It has everything, from idea generation to action item identification and assignment, and is used by world-class companies like Spotify and Squarespace.

Oban

Oban

Oban is a robust job processing library that uses PostgreSQL for storage and coordination. Its main advantages are reliability (it’s on the BEAM, after all) and historical observability. Using PostgreSQL instead of other tools also decreases the number of dependencies since you don’t have to add things like Redis.

Teslamate

Teslamate is a powerful, self-hosted data logger for your Tesla. It features dashboards, packed with drive stats, visited addresses, and efficiency reports. Teslamate is constantly one of the trending Elixir repositories on GitHub, so if you have a Tesla and want to do something cool with Elixir, I suggest you try it out.

Supabase Realtime

Realtime is an application for listening to changes in your PostgreSQL database. It’s a Phoenix server that listens to PostgreSQL’s replication functionality, converts the byte stream into JSON, and then broadcasts it over websockets.

Absinthe

Absinthe is an Elixir implementation of GraphQL. Absinthe implements the working draft of GraphQL while providing a nice, idiomatic API for Elixir users. In addition, it has some extras like easy-to-read schemas, support for Phoenix, Plug, and Relay, and a very configurable querying pipeline.

If you haven’t yet heard about GraphQL, it is basically a better REST created and invented by Facebook that allows for querying APIs through a single endpoint instead of fetching a load of data from multiple endpoints. You can learn more about it at How To GraphQL.

Hex

Hex

Hex is a package manager for Erlang and Elixir that hosts over 11 000 public packages.

To see an example Phoenix project, you can also check out Hex.pm, the website for the said package manager.

ExVenture

ExVenture

Once you delve deeper into open-source Elixir, you can find some treasures. In particular, ExVenture. If you’ve ever wanted to build your own text-based MUD, it turns out you can do it in Elixir.

Build your own imaginary world, with goblins, dragons, and other creatures. Graphics are so 2019, anyway.

If you want to learn more about ExVenture, you can listen to an interview with its creator on Elixir Wizards.

Phoenix LiveView

It makes sense to end with one of the most promising Elixir projects.

Phoenix LiveView enables you to ditch JavaScript (most of it) from your web pages through the power of Elixir. LiveView provides a wonderful alternative to client-side single-page apps like the ones you would make with React or Vue.js.

See how LiveView can be used to implement a Twitter clone in 15 minutes:

If you want to learn more about LiveView, I’d suggest you try out the free Pragmatic Studio course or listen to Software Engineering Radio episode with the author of the Phoenix framework, Chris McCord.

Conclusion

Overall, the open-source ecosystem of Elixir is quite large, with several high-quality projects that are used by many companies in production. To see more of what it can offer, you can check out this curated list of Elixir libraries.

If you have any interesting projects you want to suggest for this post, be sure to write to us on social media like Facebook or Twitter.

16 Awesome Elixir Open-Source Projects
More from Serokell
8 Companies That Use Elixir to Win8 Companies That Use Elixir to Win
Best Elixir Conferences to AttendBest Elixir Conferences to Attend
elixir in industryelixir in industry