Image for post
Image for post
Photo by Daria Sannikova from Pexels

Have you ever wanted to use country flags in forms that you wanted to present to your users? Perhaps in a country or a phone code select input? If you have, maybe you have resorted to icons and other things that did not make it quite easy for the flags to be included as select options, forcing you to use dropdowns instead, or something similar. I experienced it myself, and, while refactoring an old personal project, I decided to take another approach.

A bit of context

Before getting into the emojis, let me tell you the reason I came across this problem in the first place. Over a year ago, I was working on a side project, which required the users to provide some information (country, state, city, phone, etc.) as part of the signup process. And back then, when I started the project, I decided to build it as a Phoenix application, without LiveView. …

Image for post
Image for post

About 3 years ago I started learning Elixir and working with it at, and throughout this time, in almost every project I have worked in, we have had the need to set up recurrent or scheduled tasks. Here, I will show you three different ways of achieving this that may cover your needs whether you are running a small application in your local environment, or running a full-fledged distributed application in a production environment.

1. Keeping things simple — the GenServer

Before I could actually start working on client projects at, I underwent a training phase, which ended with an internal project: a Telegram bot to automate some managerial tasks. The idea was a simple bot with a couple of commands to manage employees in the system, and in order to achieve it, a first crucial step was to be able to constantly retrieve updates (a.k.a. messages) sent to the bot. Initially, we were going to use an existing, relatively popular library called Nadia to do everything related to the communication with Telegram. However, after the first couple of iterations we found that we wanted to keep more than one bot, and for each of those, we would need to do a similar set of operations: retrieve updates, process them, and produce a response. …


Santiago Bacaro

Passionate for AI and music

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store