-
Ideation
I was as big fan of Cron calendar when it came out a few years ago, mainly for its feature that let you get your availability as text, so you could easily tell someone when you are free. I use the macOS calendar now, which unfortunately doesn't have a similar feature. CalAvail is my solution to this problem.
Challenges
The biggest challenge right now is retrieving a list of calendar events on a given day. Regular events are easy to get, but repeat events are a whole different story. The Calendar app treats a repeat event as one event, which is its initial occurrence, no matter how many times it repeats. This means that you have to find all repeat events, parse the rules of the repeating event (repeat weekly, MWF, until x date, etc), and then use them to calculate whether or not one of its repeats falls on the current day. It's a long and manual process.