I use (two levels of) directories, and filenames:
appliances/fridge/2018-01-03-purchase-receipt.pdf
appliances/oven/2019-11-18-repair-invoice.pdf
medical/insurance/2022-02-03-insurance-card.pdf
automotive/registration/2022-09-10-registration.pdf
automotive/tickets/2019-09-10-parking.pdf
phone/t-mobile/2020-01-14.pdf
phone/pixel5a/2021-03-14.pdf
With two directory levels, you should be able to organize it so that all the top level directories fit on one screen of ls output / file explorer or whatever you want to use, as well as each second level.
I always prefix the filenames with YYYY-MM-DD, and I add a suffix with any extra keywords that might be helpful or to disambiguate several things from the same day, but in many cases it's obvious if the directory is just full of one bill per month or whatever, in which case I just do the YYYY-MM-DD.ext filename.
The system is largely optimized for having a place/filename to store things without too much thought, rather than retrieval since 90+% of things you store never actually need to look at again, and I don't mind clicking around for a few minutes for the rare occurrence when I do need something.
If you put this structure in google drive or similar you'll get OCR + keyword searches on the filenames for free, but you can also just sync it to any local filesystem to use "manually", or upgrade to the next latest and greatest cloud storage or whatever.