Say what you will about Node.js but having async streams be a standard part of any io APIs makes it pretty easy to mess with different data sources and sinks. I'm trying to do something similar in Rust and it appears there's a billion ways to do io.
Escape ship from centralized social media run by Mauve.