<aside>
👀 Note: I’ve got a NDA in place for this project, thus I am unable share specific details. However, I have tried to provide a general overview of the objectives, the user flow, and my roles and responsibilities in the project. For the sake of explanation, lets name the project - Nexus.
</aside>
Project
Nexus is an intelligent assistant bot designed as a plugin-app for an enterprise communication platform. The primary purpose of Nexus is to assist users with their queries and tasks by understanding the context of their conversations on the platform. The queries could be right from questions about anything related to their work, company policies, conversations or anything in general, to a task for the bot about something being discussed in the conversation.
User Interaction Flow
The user interaction flow with Nexus is designed to be seamless and intuitive:
- User Mention: The user mentions Nexus in a conversation with a specific query or task related to the ongoing discussion.
- Backend Notification: This triggers a notification to the backend application built on NestJS, which captures the context of the conversation along with the user’s prompt.
- Processing the Prompt: The backend application processes the prompt and sends it to OpenAI. The OpenAI assistant, configured with several functions, processes the prompt and generates the relevant results.
- Formatting the Response: The backend application formats the results into a presentable format and sends them back to the communication platform as a message in the conversation.
- Multi-message Engagement: In specific scenarios, the interaction involves multiple exchanges between the user and Nexus. During this period, the OpenAI assistant's operation is paused while awaiting the user’s response.
My Role and Contributions
I worked on this project from scratch as a Full Stack Developer and completed the requirements end to end, handling all aspects of development to deployment. My responsibilities included:
- Design and Development: Conceptualized and built the entire system architecture, ensuring robust and scalable design.
- Backend Development: Developed the backend application using NestJS to handle OAuth, conversation context, user prompts, and communication with OpenAI.
- DB Management: Designed the DB (MongoDB) schema as well as the interactions with the backend application.
- Integration with OpenAI: Integrated OpenAI's API, enabling the assistant to understand and process user queries effectively.
- Integration with Third Party APIs: Integrated various third-party APIs to enhance Nexus’s functionality to perform tasks, as requested by the user in the prompts.
- Feature Testing and Deployment: Conducted thorough testing to ensure the system’s reliability and deployed the final product to the enterprise communication platform, and the backend application to a server.