semantic client-side personalization approach