Phoenix BoidsChannel Receives Updates Changes Settings GenServer WorldStateUpdater Calling itself 30 times per second Simulation Calculates new positions per boid based on world state Renderer Renders updated world state Socket Connection Receives Updates Changes Settings