“But if you want to use a database, you either need to write a backend (which you then need to host and maintain forever) or download the whole dataset into the browser (which is not so great when the dataset is more than 10MB).”
SQLite compiled to WebAssembly fetches only the pages of the database file it needs, using HTTP range requests. No server, no API key that expires, no VPS bill you forget to pay. Free static hosting now runs real SQL queries. Half the backends people maintain for side projects never needed to exist.