Birds Against Morality
A real-time multiplayer web version of Cards Against Humanity, written in Elixir using Phoenix LiveView.
Overview
Originally a hackathon project, the goal was to use elixir along with phoenix live view to create a real time multiplayer cards against humanity game.
It’s playable, but has some rough spots. It was made mostly during a 2.5 day period, and polished up a little more for a new years party later.
At its core, its a gen server that broadcasts state to a live view.
I really love the power of live view, and would like to improve this one day. The deck api is pretty rough, and theres some UI issues with really long card names.
What I learned
This project was a really great exploration of both LiveView, and also GenServer. GenServer gets left out of a lot of into to Phoenix type stuff. But it’s really powerful. Stateless servers was a huge buzzword for a while, but for some things (like games) stateful servers can a great option.

Stack
Elixir, Phoenix, LiveView, PostgreSQL