Voice platforms are predicted to be the next frontier for HCI. However, right now the majority of applications are very specific and rigid; they lack flexibility and all require you to build an entire separate application for any given use case. We wanted to explore a potential method for creating a flexible platform that makes it easy to incorporate new functionality in a way that is both composeable and flexible, which we named JARVIS.
What it does
JARVIS uses Firebase functions to make it as simple as possible to write functions that can be used to control almost anything you can imagine using voice. Further, it borrows a page from functional programming in emphasizing composable controls, so that multiple commands can be chained together to further increase the expressiveness of the project.
How we built it
We built it with a lot of different technologies. Fortunately the project incorporated everyone's preferred technology: mobile, web, and embedded/backend. This meant we could each focus on really refining our part of the project, while coming up with simple ways to interact between the pieces.
Challenges we ran into
There is a lot of complexity that we tried to mitigate, such as handling a variety of data formats, json schemas, managing 3 servers, as well as firebase and the mobile and web clients, and keeping all of that in sync was a real challenge to get working smoothly.
Also, it took as a long time to think of the project, which left us at quite a time deficit to get everything implemented.
Accomplishments that we're proud of
Getting most of what we set out to build done!