Développer l'interface web d'une application en ligne est un exercice bien différent conceptuellement du développement de la partie backend. Les interfaces graphiques, fonctionnant par essence en réaction aux évènements utilisateurs ou applicatifs, appellent un mode de conception du code bien particulier. Si l'on part avec le mauvais paradigme, la rapidité de développement et la qualité du code s'en ressentiront rapidement. Elm offre, en s'appuyant sur la programmation fonctionnelle réactive, et en lui adossant un système de typage fort avec inférence à la ML, une solution robuste, performante et élégante au problème du développement d'interface graphique web.