@nicole
WebCal, it's a standard for expressing calendar events. There are various apps, both on Desktop, Mobile (i.e. Etar) and CLI that supports this standard. You also need some way to sync the calendar, like Dav5x on Mobile.
You can self-host it or use a hosted instance. A good example of a WebCal server is NextCloud. AllSync offers a hosted NextCloud instance for 1$ per year, and you can manage both contacts and calendad.
http://allsync.com
@baschi29 @danyspin97 From the comments, this looks like a very promising solution, especially since I already have a self-hosted NextCloud! Thank you!