Inspiration
Calling a reception office—whether it's the one for your insurance company, your financial institution, or your physician—is often a frustrating experience. A limited number of personnel means long wait times and convoluted voice menus that fail to provide the information and services that you require. But when there are no more human beings available for assistance, who can you talk to?
The answer is the next best thing: artificial intelligence.
This project was born of a frustration when calling vital organizations and being placed on hold to extents where it didn't feel worth it to stay on the line anymore; mental health hotlines are great, but in situations where someone is in extreme emotional distress, instead of having someone wait, we prefer to be able to answer the call, no matter what.
What it does
Overphone seeks to solve the call overflow issue by connecting clients to an AI-powered agent that delivers useful, dynamic responses in real-time. The agent adopts a persona reflecting the circumstances of the client and, with this persona, is able to appropriately answer user queries.
Each client, whether it be a bank, company, or clinic can have a persona that drastically changes how the AI interacts with users. This removes the need for tedious number menus that need to be constantly looped through, as the AI can simply route the user where they need to go, or even answer their question when applicable.
How we built it
- AI Chatbot: We're using OpenAI GPT 4 to handle the bulk answering of questions that are asked by the user, GPT 4 is extremely fast and is able to quickly respond with amazing answers, while also redirecting more sensitive prompts to its partner, which we're using to handle secure answering of sensitive questions, like asking for help with bank transactions.
- Roberta: Roberta is our solution to handling sensitive information that a client might not want to provide GPT 4 in it's pre-prompts. Roberta utilizes contexts and databases to retrieve information, and only GPT 4 can prompt Roberta. This prevents any unauthorized requests to the backend system handling specific user data, and helps in preventing fraud through attempting to prompt-engineer the GPT 4 system.
- Call handling: For call handling, we utilized SignalWire, a cloud communications platform that provides APIs for making and receiving calls. We purchased a phone number via SignalWire and routed it to our AI agent.
- Text-to-speech: We've utilized Azure and their text to speech modules which produce extremely human voices for our GPT 4 responses. The audio files generate in under a second, which also helps in creating a seamless user experience.
- AI Orchestrator: In order to handle all these complicated methods, and make sure they work synchronously, we utilize an AI Orchestrator, which creates a symphony with each module, calling each one when needed, and passing needed information from one module to another. At the end, the orchestrator sends the final data to SignalWire, to play the audio files from the text to speech module and receive new prompts from the user.
- Webpage: We employed the React web development framework with Vite for creating and styling the Overphone webpage.
Challenges we ran into
- We initially struggled understanding how to utilize SignalWire's APIs to interact with the number we purchased and transcribe user speech, but after some time with the documentation, we were able to successfully utilize the service.
- Another issue we encountered was the implementation of a modular persona system, however, we came to the solution that each client of Overphone would have a specific version tailored to them, so we chose to demo a few simple personas we developed to showcase this feature.
- We unfortunately did not have the funding to keep our website up, which allowed the bot to switch profiles and call the user. Also, the bot can only be called by verified numbers, due to the same budget constraints.
Accomplishments that we're proud of
Developing a modular system is quite difficult, having all the pieces come together without interfering with each other was an incredible feat, one that we are incredibly proud of.
The content we were able to develop is also something we feel is useful and can accomplish good. We're happy to have a product that works and it gives us hope that annoying phone menuing will soon be a thing of the past.
What we learned
With a team of half new hackers and half second time hackers, we had a lot to learn during this challenge. We've learned a lot about modular development, version control, AI management, prompting, json creation and reading, React and react-native, to name a few of the big points. Working together to fix issues that came from overlapping features in separate modules was also a learning experience, and we feel a lot more confident in our abilities to develop modular software in the future.
What's next for Overphone
Overphone would benefit greatly from a more standardized persona feature, and being able to showcase the website's functionality, which would need some funding towards sending more calls.
Built With
- azure
- ngrok
- openai
- python
- react
- react-native
- roberta
- signalwire


Log in or sign up for Devpost to join the conversation.