The author seems to be making use of: fpscanner[1] and fp-collect[2] libraries for achieving his task though he doesn't seem to explain how exactly the detection is done.
> It does not use detection any of techniques presented in these blog posts (post 1,post 2) or in the Fp-Scanner library
That's from the linked test page https://arh.antoinevastel.com/bots/areyouheadless