Inspiration
I was watching Iron Man 1, one particular scene stood out to me. When Tony Stark was building the Iron Man suit, he often got help from his voice assistant JARVIS. JARVIS was a perfect assistant, I had already tried Alexa, Google Home, Siri and Cortana, but none of them worked like JARVIS. They all had many flaws such as, unreliable information, taking too long to get to the point, being to costly, sexism and 'spying' on you.
What it does
NOVA is a virtual assistant with none of the issues listed above. It uses Wolfram Alpha which is a very accurate and trustworthy source, it get's to the point on time, it is budget-friendly, has a gender neutral voice to avoid sexism (the female voices in voice assistants have been called out as showing women as servants), and of course, it does not collect data from you.
How we built it
I used python to create NOVA. In python I used some APIs to help create NOVA, these include, Wolfram Alpha for information, Speech Recognition for speech to text conversion, pyttsx3 for text to speech conversion, PyJokes for corny jokes, Webbrowser to help add tabs and windows to your web browser, Pywhatkit for playing videos, Word2Number to allow conversion from letter numbers into integer numbers (for example, ten to 10), time to allow my computer to wait, and Tkinter for the user interface.
Challenges we ran into
When creating the user interface for NOVA, I was hit with a performance error. Because I had an infinite loop running in the background (because NOVA has to constantly listen for his name). To solve this I kept calling the function from other functions and kept repeating the function with Tkinter's power.
Another issue was converting text numbers to integer numbers, for example ten to 10. I used word2number to solve this.
We had many other issues, but these were the two most time-sucking ones.
Accomplishments that we're proud of
Creating NOVA itself was no easy task. To finish it on time was a miracle in in itself. I am proud that NOVA uses a gender-neutral tone that discourages sexism, that he can play my favorite songs, giving concise accurate answers and that it doesn't collect data. I'm also proud of all it's functionality. If you check the source code, there are many functions and many things NOVA can do.
What we learned
Through this process, I learned about way more APIs and how to use them correctly, I also learned how to read errors as I had to debug often, and I learned more about functions.
What's next for NOVA
The next step for NOVA is turning him into a piece of hardware. We could accomplish this with Raspberry Pi, sadly I didn't have a Raspberry Pi this time.
Log in or sign up for Devpost to join the conversation.