Also, I have seen a visualization using Kinesis to-from a web interface, where there is not compute happening in AWS at all. It was really cool - they took audio input from the microphone via the browser, and streamed it through Kinesis to all the other browsers; compute happened in-browser.
This makes me wonder if, rather than using S3 as a backing store, you could have Lambda insert messages into Kinesis and have the browser read from the Kinesis stream.
Of course, the goal here is to build something with Lambda - otherwise I think you could do the whole thing with Kinesis and client-side compute.