Inspiration

We were first inspired to create this project out of sheer laziness. Smart homes/devices are becoming more popular and normal for everyday use, especially in the household. We wanted to create an integration with one of the largest food chains, Little Caesars Pizza. We wanted to create a way for the average lazy American to be able to order food more seamlessly than ever before. We wanted the user to simply be able to order food from Little Caesars Pizza by only using their voice.

What it does

Our integration with Alexa enabled devices, such as Echo Dots, FireTV Platform, etc., allows the user to order pizza using their voice. This would eliminate them having to visit an actual franchise(if you paid for delivery), needing to use your mobile device to order or call it in, and having to communicate with other humans.

How we built it

Our software is built using AWS Lambda to run javascript without a server. Alexa sends your code user requests and your code can inspect the request, take any necessary actions (such as looking up information online) and then send back a response. In order to store information about the user's order, we utilized a PHP backend to process all of the information sent to and from Alexa.

  • Database uses MongoDB for storing order data, which includes: individual items added to the cart, the pin for The Pizza Portal, and any other purchases. The database is ran off of a separate server.

  • Backend is built with PHP using Laravel with the following endpoints currently available:

  • [GET] Initialize a cart

  • [GET] Add an item to the cart

  • [POST] Update/Customize an item

  • [GET] Retrieve Pizza Portal pin

  • Hosting Backend is hosted on an AWS Lightsail instance.

Challenges we ran into

From an Alexa integration standpoint, we faced multiple setbacks. Due to our lack of complete understanding of the Alexa framework, we were unable to connect the application to our endpoints. Jumping into a new framework with a limited amount of time is a struggle that we had to try to overcome. We were only able to break into the tip of the iceberg and that sadly set us back. That issue stumped us and caused us to waste multiple hours on troubleshooting. We faced a few issues when it came to actually activate the skill within Alexa, we faced issues when it came to the name of the application itself. Using the actual name 'Little Caesars Pizza' caused conflicts with Alexa. Occasionally she would give us the location of a few local franchises and occasionally she would run the application. Backend wise, we had to be able to distinguish between multiple orders, as well as multiple items within each other. We struggled to find a way to allow you to have multiple items of the same time and us able to modify them individually.

Accomplishments that we're proud of

We are very pleased to have gotten a grasp on using the Alexa framework. We had to work around many issues and try to overcome many hurdles of learning a new framework. This was our very first Hackathon and we are glad about the outcome we achieved together as a team. As well as learning how to use MongoDB, a database application and structure that was new to both of us.

What we learned

We have learned how to create a new custom skill within Alexa that runs off of a serverless environment as well as a new way of managing data with MongoDB.

What's next for GrizzPrizza

  • Create a graphical interface for Echo Show
  • Fix the bugs related to connecting the skill to the endpoint.
  • Utilize Little Caesars Pizza's API to actually order pizza.
  • Implement basic payment through Amazon Pay, allowing the user to pay for their order with little hassle.
Share this project:

Updates