I runWirewiki.com, a website to inspect internet infrastructure like domain names. It helps people check (historic) DNS records,
DNS delegation, email deliverability config, etc.
There are a ton of sites that offer this (growing faster than ever thanks to vibe coding), so I need
a way to stand out. I picked tool quality / usefulness and UX.
The autocomplete is the main way to navigate Wirewiki, so it should be as complete, accurate and fast as possible.
I want it to beinstant. Like, next frame instant.
I’ve mostly achieved that. Try for yourself:
OnkeyDown(the user starts pressing a key), we prefetch the suggestions for the typed character + any next character. And onkeyUp(the user releases the key), we render the suggestions.
That gives us a time budget ofkeyPress1Duration + gap between key presses + keyPress2Duration. If the API returns before the end of the second key press, we’ll have the results ready in time.
(A 60 Hz display renders every 16.7 ms. So we technically have 8.33 ms extra time budget at p50, but near 0 ms at p99.)
So for the purpose of this article, we’ll define latency askeyUp to results ready for rendering. p99 0 ms means that 99% of the time, the results will be ready before the user even releases the key.
We need two things to make this happen:
We now know that we can spend two key press durations and a gap duration, but how long is that in milliseconds?
I’ve measured it while typing 100 domain names reasonably fast and found that p99 works out to 121 ms for me.
Here are my results. You can start typing to see what it is for you.