I went with a synchronous approach + threading which was a nice break from Tokio.
It is Bring Your Own Key, but the key is sent to the server for each request, which is something I might revise in the future.
There is a demo on https://youtubetldr.onrender.com/