Streamerp2p lets anyone start a streaming radio station with no server required. The application works by having listeners who are downloading the audio stream from the server simultaenously upload the stream to other listeners, who in turn upload it to even more listeners, forming a branching tree.
New listeners tag on the the outside edge of the tree, and because each one provides new upload capacity to the network there is no limit to their number. They also move around in the tree according to their upload bandwidth and listening time, and as others leave and join the network. High bandwidth and long-stay listeners tend to move closer to the broadcast server.
This all means you don't need an internet connection with a lot of bandwidth to broadcast to a huge number of listeners. A low bandwidth modem connection can work just fine. Higher bandwidth connections naturally increase the quality of the audio that is possible. It's almost-free broadcasting, for just the cost of a net connection.
Streamerp2p has a built-in chat system, with a lobby channel, some other system channels, and a chat channel for each station, so you can chat with the DJ. It uses a Gnutella-like mesh to distribute the messages. It also has an embedded web site for each station which streams alongside the audio.