Meet Cliff CodeWright: WWC's Internal ChatGPT Tool
Meet Cliff CodeWright: WWC's Internal ChatGPT Tool
In the rapidly evolving tech landscape, productivity and security are paramount. At We Write Code (WWC), our mission has always been to empower our team with the best tools to excel in their various roles. In line with this vision, we've developed an internal ChatGPT tool (Cliff) designed to streamline workflows and enhance team collaboration while ensuring that sensitive data remains protected. This blog post takes you behind the scenes of our latest innovation, highlighting the benefits, challenges, and key technologies that have made this project a reality.
Who is Cliff?
Cliff is inspired by Cliff Clavin, who is known for his encyclopedic knowledge and friendly, talkative nature. Therefore, Cliff CodeWright is an image of wisdom in the coding world. Cliff Codewright embodies a friendly, know-it-all coder who always has a fact or solution up his sleeve.
What is Cliff?
Cliff is a powerful tool designed to help our team maximize efficiency in daily tasks, freeing up more time to tackle more in-depth work. The application allows users to interact with the latest OpenAI models directly, share chats with other WWC teammates, and even engage in group chats with both our team and ChatGPT. The tool was even used to help generate some of the content in this article! Importantly, this setup ensures that no sensitive data will be incorporated into ChatGPT's public models, addressing one of the most pressing concerns about AI usage in corporate environments.
Technology Stack
To bring Cliff to life, we've leveraged a top-tier technology stack, ensuring scalability, reliability, and security:
- AWS: Utilizes VPC, Load Balancer, MariaDB RDS, ECS, and S3 for infrastructure and storage needs.
- Frontend: Crafted with Angular 16.20 for a responsive and intuitive user interface.
- Backend: Built on .NET 8.0 and using SignalR for real-time communication.
- Authentication: Secured with Google Auth to verify user identity seamlessly.
- API Communication: Using OpenAI’s API to communicate with ChatGPT’s 4o model for text generation and their DallE-3 model for image generation.
Addressing Key Issues
Cliff effectively tackles several critical challenges:
- Data Security: By ensuring interactions with GPT do not leak sensitive data to public models, developers can query and receive assistance without compromising confidential information.
- Complex Problem Solving: The tool supports our team in resolving intricate issues through AI-driven insights.
- Pair Programming: By collaborating with ChatAI, coders can engage in pair programming sessions, enhancing code quality and accelerating debugging processes.
Enhanced Features
The application is loaded with features aimed at transforming development processes and functional work team operation:
- Chat with GPT: Direct interaction with AI models for immediate assistance.
- Image Generation: A unique function that allows for AI-generated images to complement textual interactions.
- Sharing Capabilities: Seamless sharing of chat histories with other users.
- Group Chat Functionality: Collaborative sessions that include ChatGPT, fostering team-based problem-solving.
Overcoming Pitfalls
While the journey to developing Cliff has been rewarding, it's not without its challenges:
Image Generation: Initially, the integration of image generation was tricky. Keeping context persistent across conversations with different AI models posed difficulties. We addressed this by appending the text description of generated images to the chat, providing continuity when switching contexts between models. This solution has significantly improved user experience.
Future Enhancements
Continuous feedback from our users is paramount to the evolution of Cliff. We encourage all WWC team members to engage with the application and share their experiences. With the right ideas and insights, we can refine and expand the tool’s capabilities, ensuring it remains an invaluable asset for our company.
Conclusion
Cliff at We Write Code is more than just a chat application; it's a beacon of our commitment to innovation, efficiency, and data security. By integrating cutting-edge technologies and overcoming numerous developmental hurdles, we've created a solution that not only enhances day-to-day operations for our business and our partners, but also paves the way for future advancements.
Stay tuned for more updates and continued improvements as we iterate and innovate on this exciting project. We're thrilled to see how our team leverages this tool to push the boundaries of what's possible in software development.