Rewrote frontend in Elm [Experimental]