Project Story
Inspiration
The inspiration for CargoDeploy came from the need to streamline the deployment process for modern frontend applications. I wanted to create a platform that could automate builds, manage assets efficiently, and provide seamless delivery. The goal was to support popular frameworks like React and Vite, and integrate with cloud services like AWS S3 and Azure Kubernetes.

What I Learned
Throughout the development of CargoDeploy, I gained deep insights into:
- Azure Services:
- Azure Virtual Machines (VMs): Leveraging VMs for robust and scalable hosting.
- Azure Kubernetes Service (AKS): Spinning up Docker containers to build and upload React/Vite projects to S3.
- GitHub Copilot: Accelerating development with intelligent code suggestions and automation.
- Automated Build Processes: Implementing automated pipelines for seamless frontend application builds.
- Cloud Storage Integration: Integrating AWS S3 for high-availability static file hosting.
- Reverse Proxy Configuration: Using Node.js for dynamic routing and caching.
- User Authentication: Implementing secure user authentication with Clerk.
- Project and Deployment Management: Creating, updating, and managing projects and deployments.
How I Built the Project
Setup and Configuration:
- Initialized the project with Next.js and TypeScript.
- Configured environment variables and set up Prisma for database management.
Frontend Development:
- Built the user interface using React and Tailwind CSS.
- Designed reusable components for the dashboard, project management, and deployment tracking.
Backend Development:
- Developed API routes for project and deployment management.
- Integrated Clerk for user authentication and authorization.
- Implemented real-time log streaming for deployment status updates.
Cloud Integration:
- Integrated AWS S3 for storing and serving static assets.
- Used Azure Kubernetes Service (AKS) to orchestrate Docker containers that build and upload React/Vite projects to S3, ensuring scalable and efficient deployment.
- Deployed the platform on Azure Virtual Machines (VMs) to provide robust and scalable hosting.
Challenges I Faced
Implementing Private Repo Fetching:
- Handling GitHub API authentication and permissions for accessing private repositories.
- Ensuring secure storage and management of access tokens.
Using Kubernetes for Containerized Builds:
- Configuring Kubernetes to spin up Docker containers using the custom Docker images.
- Ensuring the containers seamlessly build frontend applications and upload the static files to S3.
Real-Time Log Streaming:
- Providing users with live updates on deployment status through real-time log streaming.
- Balancing efficient log delivery with performance optimization.
Heroes of the Project
Azure Services:
- Azure Virtual Machines (VMs): Offered reliable and scalable hosting for the entire platform.
- Azure Kubernetes Service (AKS): Orchestrated Docker containers for automated builds and asset uploads to S3.
GitHub Copilot:
- Played a vital role in streamlining the development process by automating repetitive coding tasks and suggesting optimizations.
Building CargoDeploy was a challenging yet highly rewarding experience. It gave me a hands-on understanding of modern deployment practices, cloud integration, and the importance of automation in developer workflows. I'm excited to refine and expand the platform further!
Built With
- clerk
- docker
- express.js
- githubcopilot
- kubernetes
- n8n
- nextjs
- nginx
- node.js
- postgresql
- prisma
- redis
- s3
- shadcn
- socket.io
- tailwindcss
- vm
Log in or sign up for Devpost to join the conversation.