Waiting on the phone can be a painful and tedious experience. Nothing is more annoying than hearing the same elevator song restart over and over... Why does a mundane activity that we all have to go through have to be so unproductive?
With the onset of the pandemic, people are calling in for consultations, advisors and support now more than ever before. Already stressed parents, students and seniors are being forced to wait upwards of several hours to get the help they need.
We all agreed that this time would be better spent in a more enjoyable and productive way. With so many individuals now unemployed and tight on money, choosing the right financial service is crucial. This is where we thought, what better opportunity to improve the financial literacy of individuals in need than while on hold?
By improving the financial literacy of customers while on hold, we realized we could help them become aware of critical services that they can discuss with representatives. This helps customers capitalize on their time spent with representatives. As well, we enable financial institutions to deliver more services and collect helpful information about their customers to shape their marketing and improve future experiences.
Through a better understanding of customers, their needs, and financial literacy, we believe that banks will become better equipped with tools and resources to serve everyone.
🤔 What it does
Happy Holdings is a caller interface that helps users test their knowledge in components of personal finance in a fun, trivia-like way. After users respond with their answers, Happy Holdings stores this information in a database for banks to analyze and better understand the needs and knowledge of customers. We then provide a beautiful interface that visualizes and aggregates the data from these responses for financial institutions to analyze.
Moreover, the test serves as a customer diagnostic. Questions test a variety of topics such as savings, retirement and investing. Users can answer through selecting keys on their dial pad. Once an agent is available to speak, the user will be taken off Happy Holdings and transferred to their call.
Additionally, an SMS text message is sent to users after their experience with Happy Holdings, to summarize their performance and give them something to read over in case they missed anything during the call.
You might be wondering, why would users participate? Considering the large and highly informative dataset banks could gain, for questions answered correctly, users could earn ballots for a monthly raffle prize from the bank! Moreover, we think a quick game of trivia is much more fun than listening to an incessant loop of "calming" (more like agitating!) music.
🧰 How we built it
Using Python and Twilio's APIs, we created a backend interface with a registered phone number that users can call. To store user input and provide questions, we created a database using sqlite3 that we linked up through Flask to serve phone requests. We then used ngrok to serve these requests to the public internet. For our dashboard, we used HTML, CSS, JSX and React to build elements of the front-end. Figma was used to create prototypes and map out screen mockups.
😅 Challenges we ran into
This hack was something new to all of us. Building a voice interface was something completely different from any previous projects we've tackled, which made it all the more exciting. Actually, most of us have never worked with a terminal, so configuring Python and pip was also a bit of a blocker at first.
With 5 hours left of our hackathon, we decided to switch from JSON to sqlite3 for storing our information, and a new learning curve was thrown at us. It took quite a bit of time and online tutorials to figure out how to use sqlite3 to access our database of questions and user responses in a voice interface.
As we worked on the project, another unexpected challenge that we ran into was the time needed to test the voice interface. It quickly became very time consuming to have to call our test number and navigate through our entire voice menu to tweak a small fix (trust us, we have 8 hours of outgoing call logs to prove it).
💜 Accomplishments that we're proud of
Something we are really proud of is definitely that we pushed ourselves out of our comfort zone into areas we had never worked with before. This includes working with the backend in sqlite3, learning completely foreign Twilio APIs, as well with using React in our front-end.
This was our first time working with Twilio, and our first time ever attempting to create a phone call interface. Through trial and error, and reading tons of documentation, we are extremely proud of what we were able to accomplish in the given time frame, and that we managed to sneak in our own original music 😊
Teaching one another is an incredibly valuable component to teamwork, and we are so grateful that one member was able to help us get set up with Python, running terminals and debugging. Through her expertise and knowledge, we were all able to get up on our feet and work together.
To prepare for our project, we reached out to our bank sponsors to understand the industry and see what information they would find valuable. We even called a few bank lines to see how long the wait queues are in the middle of a pandemic and have a clear sense of the current customer journey. Using this market research, we are proud of the product that we designed and confident it addresses needs on both the bank and users' ends.
🎓 What we learned
Since this was our first time ever working with Twilio and creating a phone call interface, we had a lot to learn, in almost every aspect – whether that be with brand-new APIs, switching databases, working on a terminal, or even brushing up on our Python knowledge.
We took this brand new venture as an opportunity to broaden our scope of abilities and try something new. Although many challenges arose, we found the process of resolving and debugging extremely rewarding. We're super proud of how we all managed to build new skills in vastly different areas.
⏩ What's next for Happy Holding
We hope to further develop our database of questions and provide more insightful information to banks about their users. Moreover, we hope to implement a tracking system that allows us to know the frequency of calls from users and try to address recurring issues that lead them to call.
Moreover, we’d love to create an interface that allows banks to easily add or remove questions from their current queues and even conduct A/B testing to analyze which questions are most effective in educating and maximizing customer satisfaction.
To make Happy Holdings even more productive, we want to partner with banks to actually see what their wait queues look like and receive feedback on how we can tailor our product to better suit their needs.
We would love to create a live component of Happy Holdings, where we can group people together in a game of trivia. Different users can compete against each other, which could get interesting 👀