Hello there and welcome to the TensorFlow.JS community!
So for this you may want to look into our MoveNet (body pose - including keypoints on face) and our  FaceMesh models (many more keypoints on head - if that is important) to do what you need.
All of these models run entirely in the web browser so no backend needed - you can use whatever web server you like to serve the HTML/CSS/JS that you write.
Try our MoveNet model here live right now (ensure you allow access to your camera when asked):
https://storage.googleapis.com/tfjs-models/demos/pose-detection/index.html?model=movenet 2
Here is the documentation for our Pose API which includes MoveNet above:

  
      

      github.com
  

  
    

tfjs-models/pose-detection at master · tensorflow/tfjs-models 3

  master/pose-detection

  Pretrained models for TensorFlow.js. Contribute to tensorflow/tfjs-models development by creating an account on GitHub.

  

  
    
    
  

  


This movenet model may be good enough for your needs as it contains head keypoints too.
If you need extra granularity around the face try our FaceMesh mode (though it can be a bit more intensive to run - so experiment with both and see what you need):

  
      

      github.com
  

  
    

tfjs-models/face-landmarks-detection at master · tensorflow/tfjs-models 3

  master/face-landmarks-detection

  Pretrained models for TensorFlow.js. Contribute to tensorflow/tfjs-models development by creating an account on GitHub.

  

  
    
    
  

  


You can try the demo for FaceMesh here:
https://storage.googleapis.com/tfjs-models/demos/face-landmarks-detection/index.html 4
Happy hacking!