For my final project I ended up building an Alexa-like device that can sit on my desk and answer questions using AI.
I ended up pivoting to this from the shoe computer after having fun building the MVP a month or so ago. I had a lot of fun with this project! Let's cover some details:
The code was the main part of this project, but it was relatively straightforward.
It handles the flow: press button -> mic turns on -> audio transcribed using OpenAI speech to text -> transcription sent to Perplexity API -> response displayed on screen.
My biggest challenges here were getting comfortable with the language, figuring out the raw to .wav audio and how to work with it, and general API troubles.
I wanted to make my Alexa more robust by building the central decision making agent I discussed and arming it with a slew of actions it could take. I ran into problems with latency that made this not viable - the regular call and response takes around 20 seconds anyway (obviously too long for a viable product). The agentic responses were taking a minute plus easily.
Here is my design in fusion:
As you can see, the design features the components poking out. I thought that looked cool. The final product was originally supposed to be black, but the print failed and white is what I ended up with.
My cable management was diabolical to say the least. Everything was able to fit in my box, and the project was fully functional for the entire project fair:
Another big fail I had was the text to speech portion of the equation. I originally wanted to have a built in speaker that would take the returned text and say it out loud to the user. I even had this implemented to play on my laptop.
I was never able to get the .wav output file playing at an acceptable quality level. Furthermore, the text to speech API added even MORE latency to a project that already took a while to answer a question.
If I were to continue work on this project. Adding a speaker and reducing latency would be my first two action items.
It definitely could have been better, though, and I wish I could have achieve some of the other things I had planned.
This was a fantastic class. Thank you to the entire teaching staff for making it a great one. The material is interesting, sure, but I have never had a class that felt more like a group of friends. A big part of that is the tone you set. Thank you ✌️