"Sorry, the wait time will be 40 minutes. Please have your party wait outside the restaurant until we call your name."
It's a Saturday night in the dead of winter. The wind chill is -15 °C and your shoes are soaked in the melting snow. Your long-awaited dinner plans with your cousin visiting from Wisconsin is in jeopardy. How will you show him the best sushi in Vancouver if your toes will catch frostbite before your wait time is up?
Now you think ‒ gee, wouldn't it be nice if I can queue up for restaurants from my toasty warm house instead of freezing in the cold?
Now, with Queue Up, you can do exactly that!
Queue Up is a portal for restaurants and customers to help them navigate the confusing and often frustrating process of managing or waiting in queues.
What it does
Instead of heading to the restaurant and signing up for the waitlist in-person, Queue Up offers the option to virtually reserve your spot at a nearby partner restaurant. Our proprietary algorithm calculates the number of people currently in queue to estimate a wait time for your party. You just simply input your name, phone number, and party size, and we will handle the rest! When there is a table available, you will receive a text notification to confirm your arrival. For a special add-on, you can even use voice control via your Google Home to add yourself to a queue without opening the application at all.
For example, you can even reserve your spot in the nwHacks food line! Instead of waiting in the seemingly infinite line of hungry, disgruntled hackers, just click the Queuep Up button and show up when you receive a text confirmation. Goodbye line-ups!
Queue management can be a headache to coordinate. Queue Up's management portal allows restaurants to view and add walk-in customers to the waitlist. Customers who sign-up virtually will be queued automatically, saving you the trouble for figuring out the logisitics. When customers arrive or cancel their spot, simply click the "Arrived" or "Cancelled" buttons to update the queue.
How we built it
For the backend, we use Standard Library (stdlib) API Platform. The reason we use it is that the development environment is very much sandboxed and abstracted us from the nitty-gritty details of setting up a server from scratch - which in the context of hackathons, is a huge benefit.
For database, we use AirTable because it does what we need to achieve and easy to work with (it has a browser client to see the database entries), and the integration with stdlib is very seamless especially with the help of features in the new BETA version of stdlib API creator, AutoCode.
For third-party services, we need a solution for programmatically sending text messages. We use Twillio API to send and receive messages from users. stdlib also has a very easy integration with Twilio so it helped us speed up our development process even more.
Finally, for the front-end, we use React framework with additional libraries such as React-bootstrap, React-router, etc.
Challenges we ran into
The biggest technical challenge we found was implementing the Google Home integration. We had difficulties with connecting the Google Home to the campus wifi networks and also mobile hotspotting.
Accomplishments that we're proud of
We spent quality time brainstorming of ideas that people will find useful and that can be implemented within the time frame of a 24 hour hackathon. We pivoted on our ideas several times, finally arriving at the concept of a virtual queue manager that integrates the needs of customers with the needs of restaurants.
What we learned
Using Google Home is more difficult than anticipated.
What's next for Queue Up!
We currently have a web application where users can sign-up with their name and contact information. The next step is to integrate an log-in with Google and/or Facebook to allow users to keep track of their account details and visit history. The same integration can be ported to a mobile app for both Android and iOS to allow customers to send queue requests and receive in-app notifications.
We also plan to improve the accuracy of our wait time calculator through training a machine learning model to incoporate features such as time of day, day of week, number of people in queue, and restaurant specific features.