Great post Raymond.
I've implemented the same thing in 11ty myself using the iCal feed from a Google Calendar. Your way is a bit neater since you actually use the API and can therefore create a more perfect data set without the wrangling needed afterwards.
I used this module npmjs.com/package/ical
We're a place where coders share, stay up-to-date and grow their careers.
We strive for transparency and don't collect excess data.