Revelry Labs

Unleashing Human Potential with Technology

A programming stack designed to scale

Elixir / Phoenix

There’s truly no limit to how far and wide Elixir and Phoenix can grow, and Revelry engineers have been using it since the beginning.

We love all things Elixir and will share our knowledge and enthusiasm with your team.

Let's build something amazing

What is Elixir?

Elixir is a functional, general-purpose programming language built on Erlang OTP to handle large data volumes concurrently with low latency. Elixir is a feature-complete language making it a top choice among developers for new product development.

First introduced in 2014, Elixir creator José Valim created it to improve extensibility and productivity in the Erlang virtual machine, BEAM.  He wanted to explore concurrency in programming, which allows multiple computations to happen in parallel. Elixir takes advantage of multi-core processors in most computers today. This approach means processing can scale to use all available resources on a machine automatically.

Another unique characteristic of Elixir is that it uses pattern matching, which allows for matching simple values, data structures, and functions. Think of pattern matching as a very advanced if statement or switch case statement, a potent tool.

Elixir also has extensive libraries to efficiently implement solutions to complex everyday tasks.

phoenix logo

What is Phoenix?

Introduced in 2015, Phoenix is now the go-to framework for creating web applications with Elixir. Like Rails, Phoenix uses a server-side model-view-controller (MVC) pattern and builds on Elixir’s developer productivity and speed philosophy.

Phoenix has several key features that improve product execution, including:

  • Cowboy: the default webserver
  • Ecto: a language for reading and writing databases.
  • LiveView: a way to easily implement real-time updates of server-side rendered HTML pages.
  • Components: a way to have a server-side rendered HTML page with component architecture similar to React to better support SPA (single page applications).
  • Plug: a way to achieve easy guards for controllers and implement a robust permissions system.
  • Built-in Channels: a way to quickly implement real-time communication with and between millions of connected clients

An easy to learn and efficient choice

The engineering team at Revelry adopted Elixir early-on due to its benefits and versatility. We prefer it because of its speed and efficiency, which allows for replicating common elements of applications. Developers can keep using the same language over many different project types.

Many experienced engineers with a Ruby on Rails background find learning Elixir and Phoenix relatively simple due to similar controllers, routers, templates, and database models. Additionally, the pattern matching feature of Elixir makes for cleaner code. Each process runs independently, so if something goes wrong with one process, then it doesn’t take everything down.

elixir releases
fastlane

Eliminating software bugs faster

From a technical standpoint, functional programming languages like Elixir are inherently easy to write tests for, and the apps can be horizontally scaled naturally. For us, more testing means fewer bugs and a more scalable codebase, which allows the app to grow with less refactoring and maintenance work.   

Elixir, Phoenix, and LiveView perform so well at serving pages that we find ourselves writing less front-end JavaScript to make the page feel snappy and responsive.

A supportive community for engineers

The community of engineers who work in and maintain Elixir is supportive, approachable, and collaborative, making finding resources and answers easier. Elixir has also created an environment for engineers to change and deploy applications quickly, and the community is dedicated to making it better.

Perhaps one of the best strengths of Elixir is that it is a language that engineers truly love to use. There are annual conferences in the US and Europe that host thousands of people, with growing attendance each year. Elixir can be a perfect choice for your next project given the importance of employee retention and job satisfaction.

monitoring phoenix
Team insights

Elixir and Phoenix Learnings

Logo of the Code Beam America conference 2022

Revelry at Code BEAM America 2022

Flora Petterson, Revelry Technical Writer, is speaking at Code BEAM America 2022. In her presentation, Build Animatronics wtih Nerves, she will talk about creative…

data pipeline

Data Pipelines in Elixir

Have you been looking to do something in Elixir outside of the usual Phoenix website? Or do you need to do some data processing…

A photo of the face of a woman with pink hair wearing glasses and a gray shirt on top of a teal graphic with white text that says "The Big Elixir, March 24-25, 2022. Crystal Adkins, Lead Software Engineer at Revelry. thebigelixir.com"

Web3 x Liveview: Crystal Adkins presents at the Big Elixir 2022

You don’t have to forsake Elixir and Phoenix to work with Web3 and Blockchain. Liveview gives us the perfect intermediary. Background The Conference: The…

Designed to scale

Elixir and Phoenix have first-class build and release tools, package management, project scaffolding, testing, and documentation that are all available out of the box. Beyond app development, Elixir is also an excellent choice to provide a backend framework or API that can be accessed and used by programs built in any language.

Elixir is designed to scale so that hundreds of thousands of machines can talk to each other. There’s truly no limit to how far and wide Elixir can grow. Let’s build together.

Our work

Elixir Development Case Study

Read how we partnered with Fillogic to support the digital transformation of the physical retail ecosystem to meet the demand and expectations of modern consumers.

Read the case study