A friend was getting married and wanted something more interesting than a slideshow on the projector. I built a live Twitter wall: anyone tweeting the wedding hashtag had their tweet — text, photo, avatar, time — flow onto the projection screens around the venue. A designated person on a tablet had final say on what made it through.
It was scoped to one event. The original design imagined Facebook events and Google+ events and multi-tenant administration, but only Twitter ever shipped. That turned out to be the right call.
Architecture
The crawler subscribed to the Twitter streaming API for the configured hashtag, normalized each result (text, photo URL, username, avatar, timestamp), and emitted it onto RabbitMQ. The Node.js server subscribed to the queue and pushed events out to all connected display clients via WebSockets.
The choke point was the admin dashboard's filter mode — when on, the entire flow ran through a moderation queue, so anything off-topic (or off-color) could be quietly dropped before it reached a screen.
Overkill
This was one of the first applications I built from scratch, and I wanted to play with all of the stuff I'd been reading about. I think I threw in the obligatory MongoDB server somewhere, too.