I've only used Elixir/Phoenix as the backend with Elm as the frontend. If you're familiar with that, can you TL;DR what Phoenix Liveview does differently than a Phoenix/Elm/GraphQL stack?
1. elixir: def handle_event("save_customer", params, socket)...
2. html: <form :for={@form} phx-submit="save_customer">
3. And sometimes rarely javascript: this.pushEvent("reorder_customer_priorities")
That's it. No compiler, no type annotations, no graphql layer.