You really did mean an app (not going down that route)... I've just sent someone instructions to use the URL approach but firmware zip file might change so it won't be right. the local file select function just doesn't work which is a shame. Tried it numerous times..
Espruino is a JavaScript interpreter for low-power Microcontrollers. This site is both a support community for Espruino and a place to share what you are working on.
It is called, but it won't execute the JS you gave it :)
For firmware updates?
http://www.espruino.com/Puck.js#firmware-updates