Might be neat to try implementing the client as a Fetch datasource to take advantage of client-side batching, caching, and deduping.