Designed with Adobe XD, developed with Python and Flask.

Hosted on Heroku.

The Story behind Serv

Waiting isn't fun. Whether we're waiting for a table or renewing our driver's license, we waste too much time in the waiting room. We wanted to streamline the waiting process by putting the power in the customer's hands, where they can enter lines and go complete other tasks without being bogged down by restaurant buzzers or the monotonous voices of front desk frontliners at ICBC. Serv helps reduce the time spent waiting while empowering businesses with customer visuals for improved management and business efficiency.


Let's get rid of the line and help get you back your time. Introducing Serv: reducing wait times by queuing customers with a tap, and alerting them when their provider is ready. Easy to implement, adopt, and use, Serv is the perfect solution for managing queues in schools, clinics, restaurants, banks, and more.

User Features

  • NFC Tagging / QR Scanning
  • Accounts via Phone Number
  • Selecting the type of service to receive
  • Receive Text

Merchant Features

  • Add customers to queue
  • Notify customer when service is ready
  • Navigate the customer to a location
  • Remove customer from the queue when they've finished receiving service
  • View queue status
  • Manage queues

Frequently Asked Questions

Can I be in two lines at once?

No. Standing in two lines at once could prevent other users from quickly receiving their desired service.

Could someone reprogram the NFC tags used?

Reprogramming the NFC tag requires a password that's only available to the merchant upon request.

What happens if my phone is dead?

We encourage merchants to keep the traditional waiting line in place for the few occasions where Serv may not be easily accessible. Merchants will be able to manage queues using Serv's built-in vacancy manager, which will be based upon the number of people in the traditional waiting line.

What if I don't have any mobile data?

Connect to the merchant's wifi! In order for merchants to partner with us, we require that they provide some form of accessible internet connection to their customers.

What if I decide I want to leave the queue?

Serv provides a "leave" option to give users the ability to leave the queue without holding up the line for other customers.

How much time do I have to claim my spot in line?

Users are given 5 minutes to claim their invitation before they are removed from the line.

Case Scenarios

  • Restaurant experience
  • ICBC drivers' licensing service
  • Walk-in clinic experience
  • Hackathon food line

Future Expansion

  • Continually improve wait times using machine learning and big data
    • Automatically log into provider's wifi with a tap
  • Incorporate ordering and payment for a more streamlined, all-in-one service
  • Providing data analytics on customer-generated data to empower businesses through improved financial information
  • A dedicated mobile app that gets them points and discounts while using Serv
  • Consider issues with accessibility for those with disabilities (e.g. voice controls)
  • Include more animations for the UI

Development and Demo Notes

  • The integration with Twilio currently requires phone numbers to be automatically confirmed or approved. If you'd like a demo, please stop by!
  • Due to the time crunch, many of the merchant features were outside of our development scope. We hope to work more on Serv in the future, prioritizing waiter integration.
  • Only one member of our team had used Flask before, so we have some hardcoding issues and unconventional error handling. We hope to go back through the docs for WTForms and refactor if we're able to revisit Serv.
  • Our app is currently hosted in herokuapp. Our aim is to move the hosting service to Google to streamline the story of the apps and services we utilize.
+ 3 more
Share this project: