JS app skeleton