Client-side developer interview challenge