Elm at Talenteca
Tags: elm
Published: 2022-03-18 16:52:39

This is a brief post for sharing what it means to create web apps nowadays and our experience at Talenteca.

---

## Ancient times

![The Valley of Temples](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/f7byl9hqvex5bk7937jt.jpg)

More than 8 years ago with a group of close dear friends we started a company called Talenteca. We decided to create a website for helping people find good jobs.

When we started we create the site using Bootstrap and JQuery, something rather normal by those "ancient" times and focus more on our business, clients and users than "play" with the web apps or the look and feel.

---

## Svelte times

![Svelte Logo](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/ikvsjfahu7mn5ng762ve.png)

Fast forward 5 years we discovered that the web community has created crazy things using JavaScript, like Angular and even React but we still remained stubbornly in our ancient past using the classic old web sites until the day we discovered Svelte.

---

## Honeymoon


![A couple in the beach](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/bvr7pp7x2srk3gr6o2a0.jpg)

Svelte was, in our humble opinion, one of the first new generation web tools that we considered viable to create valid modern websites.

We decided to explore new ground and migrate some parts of our website to Svelte and with that, we improved our traffic and our users satisfaction by a big margin, we are always thankful to Svelte for that.

---

## Broken honeymoon

![Wave washing out heart](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/j37svuyrrhekt9selgw5.jpg)

But this initial honeymoon was soon broken, the chaos and the challenge to try to maintain our new web apps was overwhelming.

We decided to move from JavaScript to TypeScript, this transition was rather easy for us since we are a Functional Programming shop since the beginning, years ago, using Scala and always learning more things about FP.

---

## The TypeScript safety ilussion


![TypeScript logo blured](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/rvxlbspiv4fpl20nuql0.png)

The TypeScript upgraded web apps were better than using only JavaScript but the upgrade was providing only a weak illusion of safety, our web apps maintenance was still a chaos with nasty bugs on production.

---

## Enter the Elm

![Elm logo](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/biek0lyy8o02jnkchlul.png)

In the mist of accepting the limitations of JavaScript, TypeScript and the modern web, we found Elm, a very weird language but with big promises.

We decided to give Elm a try and it exceeded our expectations by a lot, we immediately decided to go all in with Elm.

---

## Elm first exploration

![Explorer on top of a mountain](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/v84oe41jt26qoayr7g0c.jpg)

The first Elm exploration stared two years ago, we tried to mix some old parts like Tailwind CSS and the build system into the new Elm web apps but soon we learn that Elm is solid enough to do the visual part too using Elm UI and in a leap of faith we decided to remove the old TypeScript and also Tailwind CSS and use only Elm and Elm UI.

---

## Total dominance

![Man showing a map on the wall](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/whqoie6nirutzl447o6j.png)

After our first explorations we realized we've just found the best most solid solution for creating modern web apps using Elm and decided to migrate all our front web apps from the old TypeScript to Elm and Elm UI.

---

## Training

![Teacher](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/rvm7tcbsla8jnaflgo4h.jpg)

In the migration process we've designed an Elm video tutorial that we made it publicly available so others can enjoy this frontend developers paradise using Elm too, here you can find it and start learning -> [Elm The Complete Guide](https://www.udemy.com/course/elm-the-complete-guide/?referralCode=C7120849E19E4866E9C3)