Here's my hot take: Instead of waiting 20s for your truly interactive site with refine-as-you-type search bar to load, which, when finally loaded, will lag so much on my mobile connection that it is just plain annoying, I will use your competitor's site which loads within 1s and has a plain old <input> field for search.
Not every site needs to be truly interactive. Not every site needs JS. Unless you're building a 3G+ or desktop-only web experience, use it responsibly.