Go to main contentGo to page footer


How to write migration scripts to change content schema with DatoCMS

In this tutorial, we will go over how to make changes to content schema in a DatoCMS project safely, without interfering with production, and with maximal flexibility for testing before merging.

How to issue notifications using PubSub in Elixir Phoenix

As we continue to work more and more with Elixir and Phoenix, there is a growing number of features we have implemented in this framework to suit specific needs we have come upon.

Recently, we had a problem with flash notification messages in LiveView and decided to implement our own way of issuing notifications throughout an application using PubSub instead of live flash, not just to solve the bug but also to have greater flexibility and control over the notifications system.

How we helped the Italian Public Administration innovate their stack

Here at LeanPanda, we were delighted to see the new website of the Department for Digital Transformation of the Prime Minister’s Office go online last 4 February. It made us proud as both citizens and professionals. 

Authentication and Authorisation in Phoenix Liveview

Lean Panda is currently developing a number of Elixir applications using Phoenix LiveView. Working with LiveView is a pleasure, but we still have some unsolved situations, or, at least, we don’t have a standard way of solving them. One of those problems is authentication and authorisation: authentication is where you prove who you are and authorisation is where the application decides what you can do.

On this article, we implement authentication and authorisation in Liveview, explaining the code and our decisions.

Gatsby JS vs. Next.js - What static site generator should you choose?

One advantage of React is the clean modularity of its components. While most React sites are dynamic single-page applications, the modularity React offers means that it is also used in static sites.

The first big static site generator that used React was Gatsby, but now the new cool kid on the block is Next.js. How does it fare?