We wanted to learn something new, so we decided to do something completely unknown to nearly all of us: AR in Unity. We just grok'd the docos for voice recognition and a bunch of other fun stuff, and then we struggled and had fun with the use cases. The idea was less the business and much more the tech, building something cool with the resources we cobbled together.
What it does
The app is a virtual pet Welsh Corgi that responds to voice commands and learns about the user's sentiment (positive vs negative) over time. It can play with a ball, be fed, and pet using the mobile interface. It can be extended, with training data for a machine learning algorithm, by learning about the user's preferences and emotions. The behaviour of the dog can change based on this behaviour, of which we have implemented in a rudimentary way.
How we built it
The app runs almost entirely in Unity and is written using C# and Unity engine's inbuilt classes. We have used libraries such as Mobile Speech Recognition and Vuforia, and bought a dog asset and textures. We split the responsibilities into voice recognition, AR development, and then interacting with the dog in real time. We also have a Node.js backend server and a MongoDB noSQL database used to store information about the user's sentiment. Over time, this information could be graphed to the user, another use case we implemented in the later parts of the hack.
Challenges we ran into
There are too many to count. Pretty much everything was a challenge, which is sort of the entire point. One example: POST requests in C#/Unity are "needlessly" difficult to implement when a few lines of a cURL command does the job nicely.
Accomplishments that we're proud of
We love the idea of the app and working on something that was fun instead of focusing on the business side. We are tech people and focused heavily on a tech aspect, and enjoyed doing something completely unknown to us, and ambitious.
What we learned
That Unity is an acquired taste, and that Nescafe machines make bitter, gross coffee.
What's next for woof
Machine learning, neural networks, moar NLP. Implement additional functionality using the sensors on the mobile device.