Stein is completely open-source itself, and the documentation includes instructions for self-hosting. It consolidates all such features in a single API.
One benefit of approach I mentioned is that there's nothing to host. All just client-side code. Although I do see the use for hosting: latency for loading data from Google Sheets isn't great and adding a cache helped in my case.