Inspiration
I always remembered seeing NORAD track santa on christmas eve and thought it would be fun to have something similar for Alexa
What it does
During different parts of the year a few canned responses will be used. As Christmas approaches, a greater variety of responses come up. Finally on Christmas eve Santa is randomly sighted at cities/countries around the world where it is between 10pm and 2am. Then in the days after Christmas some fun responses are added with Santa resting.
From late october to mid november is not the most exciting set of messages but you should be able to get a feel for the general invocation flow. The responses during this time period are mostly: "feeding the reindeer.", "exercising the reindeer.", "checking his stock of coal for the naughty kids.", "finalizing the list of Santa visits that he will attend in person and which ones he will send body doubles to.", "making a list and checking it twice so he's ready to tell who is naughty and who is nice.", "helping the elves with toy production problems.", "working on a diet so that he can fit into his suit this year.", "working on a diet so that the sleigh doesn't weigh quite as much this year.", "estimating how much the sleigh can carry per trip back to the north pole.", "reviewing the instruction manual for upgrades to his sleigh.", "resolving an argument between Dasher and Dancer about who takes off faster.", "reviewing mail from kids around the world and comparing their toy wishes to his naughty and nice list.", "out to dinner with Mrs Claus."
How I built it
Python on AWS labmda with a dynamodb to save the last response given to a given user so that Santa can be seen doing the same thing for about 10-20 minutes during most of the year.
Challenges I ran into
I originally wanted to use the timezone of the user to determine where Santa should be concentrating his effort on Christmas eve. However, I just defaulted back to GMT to avoid needing to ask for any permissions.
Accomplishments that I'm proud of
I was shocked at the Christmas eve spike of traffic for the last two years. I was expecting most traffic to be the week before Christmas but never expected the Christmas eve spike.
One thing I am proud of is that if a given user has multiple echos and asks where santa is on both of them they should get the same answer from both echos in any given 15-20 minute time period.
What I learned
When I was working on this skill was really about the time I was experimenting with dynamo-db in AWS. I have since used it in a number of additional skills.
I really wanted to have a "one shot" way to start the skill have it answer answer and end the skill (basically a one shot answer without using a long phrase). For example, I wanted to have "start santa tracker" just tell where santa was without having more words. I could not figure out a way to get through skill certification with this few words though so it needs longer invocations like "ask santa tracker where Santa is" which seems a bit redundant. I am hoping for some ideas on how to make the invocation more intuitive.
What's next for Santa Tracker
One of these years I hope to add Echo Show support with some christmas backgrounds or a sleigh overlaid on a map. I don't know if I'll have time for that this year though.
Built With
- amazon-dynamodb
- lambda
- python
Log in or sign up for Devpost to join the conversation.