It just watches the LJ XML feed once every so often, pulls the data, sorts out the mood tags, and keeps a running track of what moods are most prevalent. Nothing fancy.
It's been fun to watch, because LJ has mood swings. In the mornings, it's mostly "awake" and "tired." Through the day, it alternates being "bored" and "amused," and sometimes "happy." Around 9:00 PM EST, it starts getting "sleepy," and usually stays sleepy until around 8:00 the next morning.