Learnings using Phoenix LiveView for Internal Web Applications

submited by
Style Pass
2021-08-18 14:00:12

TL;DR: After building a large internal web application, I found that Phoenix LiveView’s programming model lets you build web applications in half the time and with half the number of people — compared to a single page application with a JSON API backend. Developers without frontend experience are also empowered to contribute given the fewer moving parts with this model. Aside from the programming model, LiveView itself lets you build fault-isolated components that keep the rest of your page usable with no extra code.

Internal web apps tend to have some of the following qualities: they’re important, but not customer facing; because they’re not customer facing, they’re often hard to get time to work on or maintain — making them stagnate or have low quality; the functionality is often trivial (and potentially boring) to build; and it’s usually hard to get any team to own it. What also inevitably happens is that teams and non-technical stakeholders end up relying heavily on the internal tool and the lack of attention and quality end up biting you.

Ideally, you’d want to spend as little time as possible on internal apps, but have them be reliable, cheap to extend, and be welcoming/maintainable by a wide variety of teammates. Phoenix LiveView checks all of those boxes.

Leave a Comment