way.js
way.js is a simple, lightweight, persistent, framework-agnostic javascript library that allows you to bind DOM elements to an in-memory datastore (with no to little JS code).
If you like buzzwords, that means super easy two-way databinding.
Example
This form is bound to the "formData" property and automatically parsed on each change.
Data is set to persistent. Try refreshing the page after changing some of its values.
The only code required) to achieve that is the following.
<form way-data="formData" way-persistent="true">
<input type="text" name="name">
<input type="text" name="picture">
<img way-data="formData.picture" way-default="[some url]">
<input type="checkbox" name="nationality[]" value="french">
<input type="checkbox" name="nationality[]" value="american">
<input type="checkbox" name="nationality[]" value="british">
<input type="checkbox" name="nationality[]" value="chinese">
</form>