Inspiration

Many people are too afraid to express themselves due to the fear of judgement. Even micro expressions can emotionally seal someone off. It is a personal belief of mine that the would would be a much better place if we could break down our self-established boundaries and freely express our feelings to one another. Sadly, I can't fix that in a day. But, baby steps are how we all got moving. E.S.P.A.R. should provide both practice for real humans and comfort in sharing feelings to something that can validate them.

What it does

The Emotional Support Pal that's Always Ready (E.S.P.A.R) is an application designed to help people with internal struggles that build up over time. With OpenAI's ChatGPT-4 as the core of function, it can provide feedback that talking into a stone wall doesn't. You open the text box on the dash board, you can either activate speech recognition or type manually, but as soon as you press enter or leave the box, E.S.P.A.R. will receive your words and provide feedback audibly.

How I built it

It began with the hope of making a box with a button that you can speak into and it provides feedback audibly. I used a Google Home Mini as the speaker to transmit E.S.P.A.R's thoughts. The brains of it all is a Raspberry Pi 4b. After many hours of thinking, finding what's wrong, trying to fix what's wrong, and scrapping the idea, I eventually landed on Node Red's dashboard as the controller. The text box sends its contents to GPT that then uses the parameters I gave it to make a response. It then uses eSpeak to talk through the google home which is connected via Bluetooth to the Pi.

Challenges I ran into

Oh boy are there a lot. To start off with I chose to be solo, I knew I wanted to do something hardware based, so I grabbed a Raspberry Pi with no experience and tried my best. The microSD card reader that I have is immensely slow, so it would take 20+ minutes per iteration of card to upload everything. After 3 hours of not being able to boot up my Pi, I created the first of many of my tickets. The wonderfully helpful mentor that I had with all of my future tickets pointed out that the pi wasn't booting up. We tried several things including doing a slow write again before trying to swap out a pi. The first one we swapped also didn't work, but the 3rd I tried did boot up. I had no prior experience with Pi's so I figured it was just because I wasn't good at what I tried. After that, I tried many attempts to create communication between Node Red and the Pi (foreshadowing). I managed to get it with the help of Mosquitto and celebrated. At some point, I found out that I was actually hosting a Node Red server locally on the laptop which explains all the connectivity problems with the Pi. Once that problem got fixed, a new one popped right up. This was the worst one. The text to speech software was not working when going from node red to the pi. I had no clue what was going on, but the same mentor came back and helped me through it after over 1.5 hours. There were little to no problems after that as I reached peak efficiency.

Accomplishments that I'm proud of

Every challenge I took on when starting this project was something I had little to no experience with. And even after all that I faced, I still managed to create a finished product was remarkable.

What I learned

I became very understanding of Node Red and Raspberry Pi's and I know I acquired skills that will help me in the future

What's next for Emotional Support Pal that's Always Ready

Hopefully, E.S.P.A.R will get designed further to the point of not needing a host hotspot nearby. It reasonably could be condensed down to a single website, but the beauty of E.S.P.A.R. right now is that it took several already niche aspects and crammed them into a final product. E.S.P.A.R has a future that could improve the lives of many.

Built With

Share this project:

Updates

Submission history