🚀 Building an SLAX Clone with Elixir and Phoenix
I recently completed a clone of SLAX, a minimalist live collaboration app, using Elixir and the Phoenix Framework. What started out as a fun little side project turned into a deep dive into real-time systems, functional programming, and the magic of the BEAM VM.
🛠️ Tech Stack
- Elixir — functional, fault-tolerant, and surprisingly fun.
- Phoenix Framework — for blazing-fast web apps and real-time features via LiveView and Channels.
- LiveView — handled real-time interactivity without writing a single line of JavaScript.
- PubSub — used for syncing state across clients.
🔍 What I Built
The SLAX clone features:
- Live collaborative editing of text documents.
- User presence tracking — see who’s online and who’s viewing the document.
- PubSub-powered synchronization of changes in real time.
- Simple, clean UI styled with Tailwind CSS.
📚 What I Learned
This project taught me a ton:
- Elixir's power in building concurrent systems. Writing functional code that manages real-time state was both challenging and eye-opening.
- Phoenix LiveView is a game-changer. I built real-time features without diving into the complexity of frontend JavaScript frameworks.
- Pattern matching and immutable data structures force you to think differently — in a good way.
- Debugging distributed systems (even small ones) helped me appreciate supervision trees and OTP principles.
- Process-based design in Elixir is incredibly expressive once you get the hang of it.
💭 Final Thoughts
This was more than just a clone — it was a hands-on, full-stack learning experience. If you're curious about Elixir or want to explore building real-time applications, I highly recommend diving in with a project like this. The ecosystem is friendly, and the tools are rock solid.
Feel free to reach out if you want to check out the code or have any questions about how I built it!
Thanks for reading 🙌