First client upload

Both the browser client and the skimmed nodejs client