Many customer interactions are routine and can be automated in a safe manner. Viral safety is a major concern, and reducing human interactions for common actions is one way to reduce transmission risk. Automated kiosks can also increase customer throughput.
What it does
Voiced is an iPad app that recognizes nearby phones running the consumer Voicer app. This identifies the customer and begins a voice interaction with the Voiced app running on an iPad kiosk. The voice interface allows a customer to learn more about products and services, get guided advice on item choices, and to place an order. Once an order is created through the voice interface, the customer can pay on their own phone running the Voicer app. Once paid, an order is printed in the kitchen on a Brother printer, and the customer receives an order confirmation so they can pick it up when ready.
How we built it
There are 2 native apps written in Swift. One for the kiosk (Voiced running on an iPad), and one for a customer (Voicer running on their iPhone). There is a backend on the Parse Platform for user authentication, and future services. Voiced and Voicer interact with the Square backend for services such as product catalog, order fulfillment, payment processing, and eventually loyalty tracking.
The two apps communicate over bluetooth for proximity detection, and data exchange. The Voiced app communicates with a Brother printer over WiFi, but it can also be via bluetooth. The printer would be located in the food prep area so that customer orders can be prepared once paid and matched up with the customer once ready.
Challenges we ran into
There were numerous challenges in getting this service built. Setting up and debugging communication between two devices over bluetooth was tricky and required a lot of back and forth debugging one side at a time. Getting the printer output format set up took a while to figure out. Interfacing with Square had challenges with building the product catalog properly as there are a lot of options in their format. It also took a while to get the encoding and decoding right in Swift.
Accomplishments that we're proud of
I'm proud the that whole app came together. The voice interface works pretty well, and the app to app communication works smoothly. There's still a lot of work to do if this is going to market, but so far it works as a good demonstration and basis for further development.
What we learned
I learned a lot about putting together all the various pieces of the apps. Some of the in-app animations were fun to figure out.
What's next for Voiced
The service needs a console to make it easier to manage backend data. It needs to be abstracted so it can work at multiple venues. And it needs some work to support larger amounts of content.