port profile-server to JSX