At my previous internships, I've noticed that quick and clear communication is a common trait amongst efficient development teams. Going off this observation, my friend and I wanted to make a tool focused on improving the developer experience, or DevEx (we were heavily inspired by this study done by GitHub).
So we made a command-line interface tool allowing engineers to message code snippets and talk directly from the terminal. This program tries to speed up the development process by incorporating messaging into development workflows. You can check out a short demo below:
Features and Implementation
Hermes's backend is written in Python using FastAPI for the API layer and MongoDB for the DB layer. To enable real-time messaging, the API is deployed on an AWS EC2 instance and makes use of WebSockets. Messages are encoded with BERT embeddings and stored in a Pinecone vector database, enabling semantic search capabilities and letting users search through their messages in natural language.
The frontend, developed with TypeScript and ReactJS, features a simple UI for various CRUD operations and onboarding procedures. Hermes offers payment options offered via the Stripe API.
Conclusion
Hermes was an interesting project experimenting with incorporating communication tools directly into the development environment. Hermes supports immediate interaction and semantic search, allowing developers to stay focused and efficient, resulting in quicker development cycles and improved cooperation. This was my first experience going down the rabbit hole of DevEx, an area my friend and I have been eager to innovate.