You can do this locally though, it just takes like 200 GB. I've run an Ethereum full node + eth2 beacon chain node on my Macbook Pro for local development, took like 10 hours to sync IIRC and just worked afterwards. I still use Infura for projects though bc I don't really see the value in running my own hosted client for pet projects. If I was doing a production app I'd likely use my own w/ a 3rd party service for backup/HA.