Blog

Elixir & Phoenix

Real-Time Monitoring for Phoenix Apps with Grafana and PromEx

When you first launch your Elixir app, everything seems super fast. Lightweight processes and fast routing, fantastic WebSocket support. But when the app becomes a real, revenue-generating system, you suddenly need answers to difficult questions.

Building a Doorstep Info Station with Nerves, Raspberry Pi & ESP32-based E-Ink

When you think of entry-level projects for newcomers to the IoT realm, one of the first things that comes to mind is: build a weather station!

Future of Permit authorization library

This follow-up to our recent Permit update, analyzes the future of Elixir authorization with a look at upcoming features, optimizations, and experimental ideas that will shape how Permit evolves.

Updates to Permit and Permit.Phoenix, announcing Permit.Absinthe

Permit now supports Phoenix LiveView 1.0 and Streams, and a new integration for Absinthe-based GraphQL APIs is in the works. This article presents the latest changes, improvements, and upcoming plans across the Permit ecosystem.

OpenAPI DSLs: The Silent Developer Productivity Killer

OpenAPI specifications have become the industry standard for documenting REST APIs, allowing developers to describe an API’s endpoints, operations, parameters, and responses in a standardized way.

Interacting with Google Sheets

No application can function without data, and sometimes your data lives in a spreadsheet. Let's see what can we do to change this sorry state of affairs and how can we move it into an actual database.

Integrate frontend frameworks into your Phoenix LiveView app

Phoenix LiveView lets you build dynamic web apps without writing much JavaScript. But sometimes, you do need a bit of client-side magic - especially for animations or local state that you don't want to store on the server.

Security in Elixir and Phoenix

Security is a fundamental aspect of web development that should never be overlooked.

Introducing Contexted – Phoenix Contexts, Simplified

One of the most unproductive activities an Elixir software developer can engage in is determining which module should implement a given function and how to maintain complex business logic.

Interactive Data Tables in Phoenix LiveView: AG Grid Integration Made Simple

Building feature-rich data tables remains one of web development's persistent challenges.

Introduction to FLAME library

Scaling applications can be challenging, especially when only specific parts of your app are compute-intensive.

Bringing SOLID to Elixir

The SOLID principles, originally designed for object-oriented programming, can also be adapted effectively to functional programming languages like Elixir. Read how to apply it to create more maintainable, scalable, and adaptable software systems.

Packaging an Elixir/Phoenix application with Nix

Packaging Elixir applications with Nix offers a way to manage dependencies and ensure consistent builds across different environments. This article shows how you can leverage Nix to simplify and improve your Elixir project workflows.

Multitenancy in Elixir

Have you ever wondered how to efficiently manage multiple clients within a single application? Or how to keep different users' data isolated while still leveraging shared resources? Enter multi-tenancy!

Elixir Anti-Patterns - What Not to Do in Your Code

We all love Elixir and know how great it is, but that's not what this article is about. Today we will focus on things in Elixir that may cause you to shoot yourself in the foot (or blow your whole leg off).

Segregate Responsibilities with Elixir Commanded

Explore how Elixir's Commanded library revolutionizes application development through CQRS and Event Sourcing, offering powerful capabilities for audit, time travel, and seamless event-driven architecture.

What is Elixir GenServer

Elixir GenServer is a behaviour module for implementing concurrent and stateful processes.

Enhancing user experience in LiveView applications with Alpine.js

Using Alpine.js to handle JavaScript events in Phoenix LiveView applications significantly enhances your web app's interactivity.

Absinthe with Phoenix Framework - a guide to properly get started with GraphQL using Elixir

The goal of this tutorial is to lay out the basics about queries, mutations, subscriptions, and everything around.

Borrowing libs from Python in Elixir

Everyone learning a new programming language has probably been there. There’s a missing piece in the new programming language, probably a library.

Phoenix framework - the world's most loved web framework based on Elixir

Almost every programming language has at least one web framework in its ecosystem.

Deploying Phoenix app with mix releases

When we start to materialize our app from an idea into code, in the first days, weeks, and months, we create, develop and test our app locally, on our machine.

What is Elixir programming language, and why is it so admired?

In the programming language world, there is a strong need to popularize languages such as Elixir - a productive, scalable, functional programming language that consistently ranks at the top of the most loved programming languages in the world.

What is Phoenix LiveView? An introductory overview

Learn more about what makes Phoenix Framework's younger sibling stand out and how it compares against other contemporary counterparts.

Phoenix LiveView Tutorial - build interactive live chat application from scratch

Elixir and its ecosystem is gradually becoming the go-to platform for many web application developers who want both performance and productivity without a tradeoff.

Phoenix Component guide - reusable building blocks of modern web application

Have you ever thought about making and handling reusable pieces in Phoenix? Or splitting big HTML templates into smaller, easier-to-read parts?

Elixir streams and list comprehensions

There is a high chance that you have used lists, maps, keywords etc. for some reason or another, and if you used those enumerables, you had to iterate over them, build some data structures, transform them etc.

Authorize access to your Phoenix app with Permit

There's arguably no non-trivial web app that doesn't need to manage resource authorization, and Curiosum’s Permit library comes in handy especially if your stack is Phoenix, LiveView and Ecto. We’ve just released it so explore its features.

Introducing Kanta - the ultimate solution to translations in Elixir & Phoenix web apps

Handling translations in web applications can be a challenging and time-consuming task. The process entails managing various files, tracking modifications, and ensuring that translations remain current as the project progresses.

Paraxial Case Study - Building a Robust Security Platform with Elixir and Phoenix

In this series, we're going to explore real-world usage of the Elixir. We'll be speaking to different companies that are currently using Elixir to understand the challenges they faced, the benefits and, whether they would recommend it.

SQL Injections vs Elixir

SQL Injections. It's a monster that every programmer has heard of, but only a few have seen its devastating effects. Also, it's very likely that you've created at least one such vulnerability on your programming road and don't even know about it.

Elixir Security: A Comprehensive Guide by Michael Lubas - Elixir Meetup #18

Explore the insights of Elixir Security with Michael Lubas, the founder of Paraxial.io, as he shares his expertise at Curiosum's Elixir Meetup #18.

Tenantee: An Open-Source Management Tool for Landlords - Elixir Meetup #18 by Curiosum

Discover this unique project's challenges, solutions, and exciting features that aim to revolutionize property management.

Context maintainability & guidelines in Elixir & Phoenix

The concept of Phoenix Context may appear straightforward, yet its potential for significantly boosting Phoenix app maintainability is profound. However, the truth is many developers grapple with its effective implementation.

Adoption of Elixir in production by top companies

In the rapidly evolving world of software development, choosing the right programming language is essential for the success and growth of your business.

Monolith vs. Umbrella Apps vs. Microservices - Which, Why, and When? - Szymon Soppa - Elixir Meetup #16

Should you build a monolith, umbrella app, or microservice? By exploring the advantages and drawbacks of each approach, Szymon provides a comprehensive guide to help developers make informed decisions for their projects.

Tidy Up Your Translations with Kanta - Krzysztof Janiec - Elixir Meetup #15

Find out more about an open-source tool developed by Curiosum to streamline translations in Elixir and Phoenix projects. Learn how Kanta simplifies the process of managing multilingual content, making it easier for developers and translators alike.

Learning Elixir: Resource Gems for Better Comprehension - Savannah Manning - Elixir Meetup #14

Join Savannah Manning at Elixir Meetup #14 as she shares her journey of mastering Elixir and the resources that helped her. Discover valuable tools and tips to enhance your Elixir learning experience.

How to Leverage Live Sessions for DRY Code - João Ferreira - Elixir Meetup #13

In Elixir Meetup #13, João Ferreira's presentation is a must-watch for developers looking to optimize their LiveView projects by making their code more maintainable and efficient.

Enhancing LiveView Development with Periscope - Caleb Beers - Elixir Meetup #12

In Elixir Meetup #12, Caleb Beers introduces Periscope, a powerful open-source tool designed to enhance debugging and introspection in Phoenix LiveView apps. It's essential for developers looking to improve their workflow and efficiency.

gRPC vs. REST: How to Use gRPC in Elixir - Samuel Pereira - Elixir Meetup #11

Join Samuel Pereira at Elixir Meetup #11 with the topic of gRPC, comparing it with REST and demonstrating how to implement gRPC in Elixir. It's for developers looking to optimize communication between microservices and improve app performance.

3 Secrets to Unlocking Elite Developer Productivity - Joshua Plicque - Elixir Meetup #10

Introduction

Drawing from Joshua extensive experience in Elixir and Phoenix LiveView, Joshua offers valuable insights and practical techniques to help developers improve their coding efficiency and maintain high standards.

Elixir vs Cybersecurity - is Elixir Language a Safe Technology?

With so much of our life going online now, it's more important than ever to understand cybersecurity - what it is, why it is crucial, and how we can protect ourselves from cyber threats. In this post, I will introduce you to the world of cybersecurity and tell you how Elixir programming language works in this environment.

How to hire Elixir Developers? - interview with the IT recruiter, Mikołaj Musioł

It can be tough to find Elixir developers. They're a rare breed and love the language so much that they're often hard to pull away from their current projects. So, what to do, if you're looking to add Elixir development capabilities to your business?

Multi-node Communication & Strategies in Elixir - Mika Kalathil - Elixir Meetup #9

Discover the power of multi-node communication in Elixir with Mika Kalathil. Learn how to connect nodes, manage clusters, and leverage built-in tools for scalable applications.

Choosing the Right Tool in Elixir: Insights from Pedro Paulino - Elixir Meetup #9

Pedro shares his journey of choosing Elixir for his side project and discusses his experiences with this powerful language. Learn why Elixir was the right choice for him and how it can benefit your projects too.

Elixir vs Ruby in Depth Comparison

Time for a final round of the unwritten war between Elixir and Ruby. According to many developers, Elixir is considered Ruby's successor.

8 SaaS Using Elixir and Phoenix in Production

The Elixir programming language has gained popularity recently due to its simplicity and efficiency. As a result, many SaaS companies are now using Elixir & Phoenix as the base of their technology stack.

How to program an IoT device in Elixir using Nerves?

Elixir is a great choice language for IoT devices due to its fault-tolerant nature, but also because of the ability to handle a lot of concurrent I/O operations thanks to the BEAM scheduler running under the hood.

12 Startups Using Elixir Language in Production - Elixir Use Cases

The annual results of Stack Overflow surveys prove that the popularity of the Elixir programming language is growing yearly.

Introducing Permit: An Authorization Library for Elixir - Michał Buszkiewicz - Elixir Meetup #8

A new authorization library for Elixir designed to simplify and unify authorization processes. In this session, Michał shared the progress made on Permit, detailed its current status, and discussed future plans for the library.

From Junior to Senior. Who is a Senior Elixir Dev? - Interview with Michał Buszkiewicz, CTO at Curiosum

Elixir, a descendant of the Erlang language, is becoming increasingly popular. Michał shows us its business value, why Elixir programmers are faithful to this language, and how to develop as an Elixir programmer. Read interesting facts about Elixir!

How to become a Senior Elixir Developer? Interview with Szymon Soppa, CEO at Curiosum

As a software house, Curiosum specializes in Elixir technology. Are you considering the Elixir Developer career? Read an interview with Szymon and learn how to become a successful Senior Elixir Developer. See also why Elixir's language is so likeable

Getting Rusty with Elixir and NIFs

Check out an example project that aims to create a Rust NIF that crops an image and makes it grayscale to show you a way to run your Rust code from Elixir efficiently.

Perfecting Local and Remote Elixir CI pipeline - Szymon Soppa - Elixir Meetup #7

Learn about strategies for perfecting local and remote CI pipelines in Elixir projects. Know the importance of automating checks to reduce developer time spent on repetitive tasks, ultimately leading to more efficient and productive development.

Mastering Elixir CI pipeline


Developer time is precious for business. Don't waste it on things that can be easily automated. One of these things is a part of the code review process - quality checks. Continuous integration (CI) is where this automation is put in place.

Learning Elixir and Erlang through Exercism & Advent of Code - Adolfo Neto - Elixir Meetup #6

Adolfo Neto presented on leveraging two powerful learning resources, Exercism and Advent of Code, to master Elixir and Erlang. Adolfo shared his experiences and provided practical tips for utilizing these platforms to enhance programming skills.

TDD with LiveView: Simpler Than You Imagine! - Gustavo Oliveira - Elixir Meetup #6

It's insightful session on Test-Driven Development (TDD) with LiveView. Gustavo shared practical techniques for using TDD to build reliable and efficient applications in Elixir, demonstrating how TDD can be simpler than you might imagine.

5 Questions to 9 Elixir Developers for the 10th Anniversary of Elixir Language

After 10 years, we can say that it is completely different - the language is gaining popularity, becoming one of the 3 highest paying programming languages and one of the most user-friendly.

Elixir is taking over! 5 editions of Elixir Meetups by Curiosum are behind us!

Five Elixir Meetups are behind us! Who were the speakers, how many people attended, what is the idea? When the thought of organizing regular meetups with Elixir tech crossed our minds, we didn't suspect that they would enjoy such a big audience!

Elixir, Kubernetes, and Minikube - Miguel Cobá - Elixir Meetup #5

Miguel Cobá presented an engaging session on deploying Elixir applications using Kubernetes and Minikube. Miguel shared his expertise on setting up a local Kubernetes cluster, deploying an Elixir application, and scaling it seamlessly.

A framework for unified authorization in Elixir - Michał Buszkiewicz - Elixir Meetup #5

Learn about the limitations of existing authorization libraries and presented a more flexible and comprehensive solution designed to integrate seamlessly with Plug, LiveView, and other frameworks.

Tracking Elixir Applications Using Telemetry and Metrics - Bartosz Górka - Elixir Meetup #4

At Elixir Meetup #4, Bartosz Górka delivered an informative session on tracking Elixir apps using Telemetry and Metrics. He shared his insights on implementing Telemetry, capturing meaningful metrics.

Throttling & Blocking Bad Requests in Phoenix with PlugAttack - Michael Lubas - Elixir Meetup #4

At Elixir Meetup #4, Michael Lubas presented the importance of protecting applications from credential stuffing attacks and shared practical strategies to mitigate such attacks using PlugAttack.

How to Create Neural Network in Elixir Using Nx and Axon

Neural networks mirror the behaviour of the human brain, enabling computer programmes to recognise patterns and solve common problems in the fields of artificial intelligence, machine learning and deep learning.

Phoenix LiveView: A Solution to Madness - Joshua Plicque - Elixir Meetup #3

Check the presentation on how Phoenix LiveView can simplify web application development. He emphasized the advantages of using LiveView over traditional single-page applications (SPAs), showcasing its efficiency and ease of use.

Elixir Meetups by Curiosum - for Who and When?

Why did we decide to organize Elixir Meetups by Curiosum? We realized there was a lack of live Elixir events in our area. Moreover, it turned out that there are only a few of them in the whole of Europe. So we thought... Why not? Let's do this!

Three Levels to Think Using LiveView - Gustavo Oliveira - Elixir Meetup #2

Read in-depth session on mastering Phoenix LiveView by understanding three critical levels of development. He provided practical insights and demonstrated how to navigate each level effectively to build robust and maintainable web applications.

"Config.exs is Simple" and Other Lies by Łukasz Niemier - Elixir Meetup #2

At Elixir Meetup #2, Łukasz Niemier delivered an enlightening presentation on the complexities of configuring Elixir applications.

Custom eLearning Application in Elixir language – why is worth it? Real-life projects examples

Many people who need an e-learning platform first look for ready-made solutions/tools available on the training application market. What if I tell you it's not always a good solution?

Top Elixir Learning Media & Resources in 2022

Whether you've only just heard of the Elixir programming language and would like to learn it, or if you're a seasoned developer with years of experience, you need adequate learning resources to ensure steady progress in your career.

Elixir Programming Language - Interview

Michał Buszkiewicz, CTO at Curiosum, was a guest in Podcast POIT ("Porozmawiajmy o IT"/"Let's talk about IT") conducted by Krzysztof Kempiński.

How to upload a file in Elixir with Waffle

The ability to upload files is a key requirement for many todays web and mobile applications. In this tutorial, we will look at how we can accomplish file uploads to local storage and S3 server in Phoenix with the help of Waffle library.

ElixirConf EU 2021 - short write-up from Michał Buszkiewicz

ElixirConf EU let me learn new Elixir tools and best practices, find out how Elixir is going to develop in the nearest future and meet with so many Elixir professionals from different industries in a friendly Warsaw hotel environment. That was great!

Debugging Elixir Code: The Definitive Guide

Every application contains bugs, and even if it doesn't, it will.

How to compose and refactor Ecto queries with Queries Modules

For a while, I’ve been looking for a perfect way to construct Ecto Queries. At Curiosum we came through a couple of iterations and eventually ended up with a solution that you may call resource-based query modules.

Elixir in 2021: The Now, The Tomorrow, The Future

If I was asked, what word best describes Elixir as a language in 2021, it would be maturity.

Top 5 Elixir Skills to Learn in 2021 [for Juniors]

Elixir is not magic - despite being easy to write in and learn, you need a strong foundation. In this short article, I will give you my personal list of things that are necessary (or at least very much a “should-have”) for Junior Elixir developers.

How to test HTTP requests in Elixir with ExVCR

As your app grows so does its integrations base. At some point, you may need to consume API from third-party services. Today you'll learn how to test them properly with the exvcr library.

5 top-tier companies that use Elixir

Elixir is a pretty capable language - and it consistently ranks near the top of most loved and wanted languages rankings.

A Walk-Through of a Full Nerves Application - Rob Raisch - Elixir Meetup #3

Explore the session on developing IoT apps using Nerves and Elixir. He walked the audience through a full Nerves application, showcasing its capabilities and providing insights into building robust, fault-tolerant, and maintainable embedded systems.

Debugging Elixir Code: Tools and Techniques by Michał Buszkiewicz - Elixir Meetup #1

At Elixir Meetup #1, Michał Buszkiewicz shared his extensive knowledge on debugging Elixir applications.

Reliability of Elixir & Erlang by Krzysztof Kempiński - Elixir Meetup #1

At Elixir Meetup #1, Krzysztof Kempiński discussed the reliability of Elixir and Erlang, emphasizing their robustness and suitability for building dependable applications.

Elixir Trickery: Using Macros and Metaprogramming Without Superpowers

There's hardly any more misunderstood element of Elixir than its metaprogramming power. The way to understand it is actually not to try too hard to wrap your head around it.

Alias, import, require and use in Elixir - complete guide with use cases.

In most programming languages we often deal with instructions responsible for handling dependencies. Elixir is no different.

How database transactions work in Ecto and why Elixir makes it awesome?

Today we're going to look at how Ecto, Elixir's first-choice database access library, handles relational (SQL) database transactions.

Elixir Trickery: Cheating on Structs, And Why It Pays Off

While we can't say cheating on anyone is okay, we're not as absolutistic when it comes to cheating on Elixir at times.

Let’s build something together

Ready to turn your curiosity into a successful digital product?
Share your idea, and let's explore the possibilities.

Our experts worked with 20+ worldwide tech innovators

Szymon Soppa
CEO