DEV Community

Paul
Paul

Posted on

The Misunderstood Voice

In my intern years, I worked at a company that specialised in creating short-term campaigns for businesses. One of those campaigns, was a voice assistant powered physical installation for a car show. The installation was a walk-in-booth with mirrors for walls and a screen in the middle of the room with a Chromium kiosk and our web app. The web app was built with: Vue as the UI framework, Dialogflow for handling user voice and WebGL for visualisations. The experience, revolved around asking the user a series of dreamy questions and then based on those answered, leading the user to their "dream car".

The decision to build everything as a web app imposed some limitations for what we could do with Dialogflow. Dialogflow's HTTP API only worked with short audio snippets - you would send an audio snippet, wait a bit for it to process and there you got what Dialogflow thought was the user's intent. This didn't bode well with our intention of creating a fluid discussion between the user and our assistant. We decided to create a custom recorder that would attempt to cut the users recorded voice in snippets and send those of for processing to Dialogflow.

Knowing how much of a unique challenge this would be, I persuaded my Director to let me handle the voice assistant part alone. At the time, I only served as a helping hand on other projects, so I figured that this could be my chance to gain some respect from my peers.

This would turn out to be a mistake that almost caused one of the managers of the project to be fired. On a dreadful Monday morning, a few days before the car show, the head of the car company, that quoted the project, walked out of the booth after 30 seconds, for an experience meant to take 3 minutes. Turning around to the manager of the project, he mentioned something along the lines of firing the manager, if the project wasn't fixed tomorrow Morning.

What happened?

Being the eager intern, I manage to silo the project to myself, and was the only person testing the voice assistant part. Also being the person who built the recorder, overtime I learned the appropriate tone, pace and loudness for my voice so the recorder could pick up my voice correctly. The head of the car company, was a fast talking Spaniard, so the recorded couldn't correctly pick up what he was saying.

That same Monday, together with the Director we managed to rewrite the recorder, test it with multiple accents and voices and managed to get everything ready for the car show. No one was fired. The story of "how" we did that is for another day.

What can we take away from this?

Even though we managed to fix it, and everyone's jobs were safe, I refused to take any substantial role in a new project. As I feared that I would cause the same incident. This mindset limited my opportunities and stagnated my growth.

The true lessons, were:

  • Accepting support - we like to fantasise about Hero's and self-achievers, who manage to do everything by themselves, but in reality, every great creator has a team of even greater individuals helping him.
  • Understanding consequences - if you push some faulty code on Friday evening, who will you push out of bed on Saturday morning? the poor on-call SRE.

Top comments (0)