Page transitions with Phoenix Liveview ThinkingElixir 111: Deploying a PR for Review

7 GUIs: Implementing a Circle Drawer in LiveView

I recently completed the 6th GUI task in LiveView 🎉 - a Circle Drawer with undo/redo functionality.

I wrote a post about the implementation and some decisions I made, and I hope others find it interesting!


One of the most interesting things was that the task was meant to be a challenge of undo/redo functionality:

“In an ideal solution the undo/redo functionality comes for free… just comes out as a natural consequence of the language / toolkit / paradigm.”

When it came time to implement the undo/redo functionality, I was happily surprised that the solution definitely “came for free” because of Elixir’s functional paradigm and LiveView’s reactivity.

In the end, the undo/redo functionality was the easiest part of the whole task!