Client-side javascript development