Dad Chef QR Code Menu Project

I made a menu page for my kids to order food for me to cook. It uses a QR code menu page that they scan and open menu webpage and then place their order. I then get a text message with the order.


We got this idea from a restaurant we went to for lunch and the kids asked about the QR code menu. We thought it was a fun idea and I thought it would be a fun project to do with the kids.

Using Cursor.sh IDE, I was able to cut the dev time down to just 30 minutes for this entire effort, including printing the QR code to hang in the kitchen.

Requirements:

  • I wanted to be able to automatically show “Brunch” and “Snacks” menu items between 9am and 5pm and then “Dinner” items after 5pm.
  • I wanted to be able to have sides available for each item.
  • I wanted to be able to have options for # of items, like “eggs” and be able to select 1, 2, or 3 eggs.

I basically plugged this into Cursor.sh IDE and it generated the code for me and I edited it to make it work for my needs.

I followed up with “I want them to be able to submit the order only after putting in their name and it should text me the order.”

It recommended EmailJS, which I had not heard of, but it was easy to setup and get working and more imporantly, free for 200 emails per month. The twist here is I used MMS to send the text message with the menu order to me, since it is formatted as an email.

For EmailJS, I setup a new email just for this and put the number I wanted to text me in the “To” field.

Here is the code for initializing EmailJS:

  <script type="text/javascript" src="https://cdn.jsdelivr.net/npm/@emailjs/browser@3/dist/email.min.js"></script>
  <script type="text/javascript">
    (function(){
      emailjs.init("<your-user-id>");
    })();
  </script>

For the submission modal:

        emailjs.send("<your service token>", "<your template token>", {
          to_email: recipient,
          message: message
        }).then(function(response) {
          $('#successModal').addClass('is-active');
          $('#orderModal').removeClass('is-active');
          $('#orderForm')[0].reset();
        }, function(error) {
          alert('Error submitting order. Please try again.');
        });

That is about it!

I used a QR code generator site to make the QR code for the page and printed it out. The oldest tested it out with his iPad and it worked. I got a text message on my phone with the order.

The items on the list:

  • Eggs
  • Pancakes
  • Waffles
  • Grilled Cheese
  • Mac and Cheese

And for snacks:

  • Apple Slices
  • Orange Slices
Back to blog