We felt that Siri was a little too trapped in her Apple devices, so we decided to free her.
What it does
The web page sends either voice or text commands to Siri and returns her verbal response along with a screenshot.
How we built it
The web page sends the input through and AWS server to a Mac running our server application. The app triggers Siri, passes along the input, records the response, screenshots the Siri window, and passes it back to the web page.
Challenges we ran into
We had a lot of trouble passing audio back and forth. Transferring between the web page, AWS server, and Mac server was difficult. We also ran into trouble piping audio from the Mac server to Siri and back on the same machine. We also had problems with timing the commands correctly so the Mac server interacts with the Siri app correctly.
Accomplishments that we're proud of
Cal is proud he figured out how to write a Node server and Nate is proud that the Mac server interfaces with Siri so well. We're both proud that we managed to get Siri functioning on a website.
What we learned
Cal learned a lot about Node.js and Nate learned a lot about Swift and Mac development.
What's next for SiriQuery
We'd like to make it so the audio is transferred live like a phone call so queries would be almost as fast as natively on the device. We also think it would be cool to bring it to Amazon Echo.