Inspiration
My journey into software engineering has not been a smooth one. My initial encounter with environment variables was challenging. I faced many issues while setting up my development environment, such as missing variables across environments, inconsistent or incorrect casing, expired API keys, and a serious lack of team documentation. At the time, I was unaware of some best practices for managing environment variables and the tools available to help. A year later, I've gained a better understanding and am now able to share my experiences to help both new and experienced developers avoid some of the mistakes I made.
What it does
Dxenv is a real-time management tool for environment variables, designed to strike a balance between a great developer experience (DX) and security. Some key features include:
- Real-time dashboard updates.
- Industry-standard encryption techniques (AES-GCM).
- CLI support for development and CI/CD environments.
- Automatic TypeScript generation for any environment.
- Role-based access controls.
- Version audits.
- Context-aware AI chat for team communication.
- Enhanced developer experience.
- Seamless authentication via Clerk.
How we built it
Dxenv was built using a combination of modern technologies to provide a responsive, interactive, and secure experience:
- Authentication: Clerk was used to secure and protect user access.
- Database: Convex DB powers the application, ensuring secure, typesafe, and efficient data storage and retrieval.
- Real-time Interactions: Convex enables real-time updates, ensuring that changes to the database are instantly broadcasted to all clients.
- Frontend: Shadcn and Next.js were used for server-side rendering, reducing the load on the browser and improving the user experience.
- Logging: Sentry was configured to collect logs and error tracing.
- Styling: Tailwind CSS was used for the design and layout.
Challenges we ran into
- With no prior knowledge of encryption techniques, I had to research the best methods for securing sensitive data while ensuring confidentiality, integrity, and performance.
- Balancing real-time updates with security considerations was more difficult than anticipated.
- RAG: I lacked prior experience with Retrieval-Augmented Generation (RAG) technologies like Langchain and OpenAI, which posed a learning curve. Given the limited time, I had to limit the features to what I could handle.
Accomplishments that we're proud of
- Successfully integrating real-time file encryption and decryption techniques in a secure manner.
- Building a scalable database and authentication system using Convex and Clerk Auth.
- Developing a responsive and visually appealing user interface.
- Utilizing TypeScript throughout development to ensure type safety.
- Implementing basic role-based access control logic.
- Writing a few test cases for our convex functions.
What we learned
Throughout this project, I gained extensive knowledge of trending technologies and became familiar with many of Convexβs features and best practices, including Convex tests. I also improved my understanding of AES-GCM encryption techniques.
What's next for Dxenv
- Real-time chat.
- Public beta launch.
- Improved webapp design.
- Comprehensive test cases.
- Improved documentation.
- Improved security and better developer experience.
- Integration with build tools eg Convex, Vercel, Render (cicd coming soon).
Built With
- clerk
- commanderjs
- convex.dev
- nextjs
- tailwind
- vercel


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