A library to do it all in Javascript