As a patron of magic, student magician, and member of the Academy of Magical Arts, I want to know when certain magicians will be performing at the Magic Castle.

So, I've been thinking about building a performer of interest "watch list" to alert me when specific performers will be at the castle.  

As a business and technology professional, I routinely design systems to solve problems for  my clients; however, I no longer do much coding myself; I must rely upon others for the coding of the systems I design.

AMA_Now_Appearing.jpgThe source information are already public knowledge and it appears that the show schedules are updated weekly for several weeks out.

So what remains is to determine how to solve this problem. Let's break this down a bit.

The first step is to define the scope of the problem: The solution must take as input a page URL and a list of keywords (performers) and then check that page on schedule (e.g. 1x every 3 days). If a keyword match is found, send me a notification.

The closest solutions I have found so far are for web site monitoring and the one that appears to be most feature rich is Website Watcher. I'm certain this would work, but I prefer not to leave a task running on my PC.

I also noticed mention of some free and fee based on-line services that will apparently do the same. I know there are also some browser plugins that may be adapted. Ideally, I want a set it and forget it solution.

As a technologist, my mind is spinning with more ideas than necessary about ways to solve this, including many beyond my coding skills. The most elegant I could come up with would be a Raspberry PI inside a custom 3D printed case. This would run some kind of app to monitor the AMA web site for keyword matches and when found, send an alert, flash the LED beneath a glowing AMA logo or owl and perhaps play a magical audio chime to alert me of my favorite performer. Then, to acknowledge the alert, I could waive my hand over the AMA logo.  (Overkill is wonderful, isn't it?)

For now, I'm content to find, build or collaborate with someone to come up with a simple solution.