Building Retro Rabbit’s very own ChatGPT Bot, Marvin
An Interactive Conversational Experience built using Angular, C#, and PostgreSQL
Introduction
Welcome to the story behind the development of Retro’s ChatGPT Bot, aptly named Marvin after our mascot. An exciting project that our team had the privilege to work on for our annual RR conference.
Under the mentorship of our senior, Christo Erasmus, we embarked on a journey to create an immersive conversational experience using Angular, C# ASP.NET, and PostgreSQL. In this blog post, we will dive deeper into the development of our ChatGPT bot, exploring its unique features, the challenges we overcame, and the invaluable learning experiences gained along the way.
In the project, we developed a bot named Marvin that enables users to communicate with it through spoken language instead of written text. Users speak to Marvin using their voice, and Marvin converts their speech into text to understand their input. Marvin utilises ChatGPT's open API to generate human-like responses, and responds to the user through speech as well. The program also incorporates session storage functionality, allowing it to retain information and assist users with any inquiries they have, regardless of the time.
See it in action:
The Team
Our ambitious project was brought to life by the combined efforts of the following talented individuals:
- Chase Nel
- Mulanga Sibeli
- Nizhar Aboobaker
- Misbah Osman
- Mumtaz Malik
- Francois Rosslee
- Christian Hooper
- Reitumetse Moloto
Project Overview
Marvin was designed to deliver an exceptional conversational experience to our users, utilising cutting-edge technologies and sophisticated integration. Our tech stack consisted of Angular for the front-end development, C# ASP.NET for the back-end logic, and PostgreSQL for secure and efficient data storage.
Features Implemented
User Authentication with Auth0
To ensure seamless user access and data security, we integrated Auth0 authentication into Marvin. After successfully logging in, users were redirected to the home page, ready to engage in captivating conversations.
Speech Transcription
We recognised the importance of incorporating speech transcription capabilities in our project. Upon logging in, users initiated a conversation by saying "Hello Marvin." From that point on, every spoken word was transcribed and recorded in the PostgreSQL database for future reference and analysis.
ChatGPT Integration
The heart of our project is the integration with ChatGPT, an advanced language model, which serves as the foundation for our intelligent chatbot. Users are encouraged to ask Marvin questions and provide contextual information by including its name in their queries. The user input, along with relevant context, is then sent to the ChatGPT Open API, and the response is generated and delivered to the user using text-to-speech technology.
Session Support
Recognising the importance of continuity in conversations, we implemented session support in our bot. Users can maintain context and seamlessly transition between topics, providing a more natural and personalized interaction with Marvin.
Project Insights and Learning Curve
The development of ChatGPT Bot presented our team with significant challenges and invaluable learning opportunities. Some of the key insights and takeaways include:
- Understanding and integrating multiple technologies within a cohesive system
- Implementing secure user authentication using Auth0 to protect user data
- Leveraging speech transcription to capture and analyze user interactions
- Harnessing the power of ChatGPT Open API to enable intelligent and context-aware conversations
- Designing and implementing session support to enhance user experiences
- Creating Session storage to allow users to see their past conversations
- Exploring new languages learning how to incorporate them
- Working as a team to achieve a common goal
Conclusion
Marvin stands as a testament to our team's dedication, creativity, and willingness to embrace new challenges. Through the collaborative efforts of our talented team members, under the guidance of our senior Christo Erasmus, we successfully created an immersive conversational experience using Angular, C# ASP.NET, and PostgreSQL. ‘Marvin’ showcases our skills, growth, and commitment to delivering innovative solutions. We are immensely proud of the project's outcome and the knowledge we gained throughout the development process.