I actually started on this earlier last year when I got back to school in September. I was finding myself re-setting my alarm clock every night to a different time (due to classes each morning starting at a different time). I got quite frustrated myself when I forgot to set the alarm or setting it to the wrong time.
I realized that all my classes were in my Google Calendar, so if I could write an alarm app that could read my Google Calendar and automatically wake me up before that (maybe 1.5-2 hours ahead, since it takes about 1 hour to commute to school).
I started in mid-September and then schoolwork hit me and I never got it to a working state.
Now that I have time (although I don’t really have a reason to set alarms these few months), I finished it off to a working state. It’s written in Java using Google Calendar libraries to hook it up to the web service.
I’ve uploaded the Java code to my Github account. The code is quite rough right now, probably has a few bugs. It’s a command line Java application, as it was meant to work on a headless system. Eventually I’ll probably add a better readme, better documentation on how to use it, and maybe even a GUI. This project hasn’t really been a priority for me right now since I don’t have to set any alarms these few months 🙂