Inspiration

The complexity of modern DevOps workflows inspired us to create Nova CI/CD. We noticed that developers spend countless hours manually configuring CI/CD pipelines, struggling with YAML syntax, and adapting configurations for different tech stacks. We envisioned a platform where AI could understand any codebase and automatically generate production-ready deployment pipelines, making cloud deployment accessible to everyone.

What it does

Nova CI/CD is an AI-powered universal deployment platform that automatically detects any programming language or framework and deploys applications to AWS EC2 with zero configuration. Users simply connect their GitHub repository, and our platform:

  • Analyzes the codebase using Amazon Nova AI to detect the language, framework, and dependencies
  • Generates optimized CI/CD pipelines with proper build commands, test stages, and deployment steps
  • Provisions EC2 instances with automatic runtime installation (Node.js, Python, Rust, Go, etc.)
  • Deploys applications with real-time log streaming showing every step of the process
  • Configures security groups and exposes applications on the correct ports automatically
  • Provides a terminal-style interface for monitoring deployments with color-coded logs

The platform supports universal language detection for Python (FastAPI, Django), Node.js (Next.js, Express), Rust (Axum), Go, Ruby, and more, with intelligent port detection and environment variable management.

How we built it

We built Nova CI/CD using a modern full-stack architecture:

Frontend: Next.js 14 with TypeScript, React, and Tailwind CSS for a responsive UI with real-time updates via Server-Sent Events (SSE)

Backend: Next.js API routes handling GitHub OAuth, AWS SDK v3 for EC2 and SSM operations, and MongoDB for storing pipelines and deployment history

AI Integration: Amazon Bedrock with Nova Pro model for intelligent codebase analysis, generating deployment strategies, and fixing build errors automatically

Cloud Infrastructure: AWS EC2 for application hosting, Systems Manager for remote command execution, and dynamic security group configuration

Key Features Implemented:

  • Universal language analyzer that detects any tech stack from repository files
  • Artifact-based deployment system for compiled languages
  • Runtime launcher with PM2 integration for process management
  • Real-time log streaming with stage detection and error highlighting
  • Environment variable encryption and management
  • Dynamic port detection and direct application exposure

Challenges we ran into

Port Configuration Complexity: We initially struggled with port mismatches where Nginx proxied to incorrect ports. We solved this by implementing dynamic port detection from the saved pipeline configuration and removing forced reverse proxy setups.

Real-time Log Streaming: Getting logs to display correctly during deployment was challenging. The stage names from the backend did not match frontend expectations. We redesigned the UI to use a flat terminal-style log view instead of stage-based categorization.

Universal Language Support: Supporting every language and framework required building a sophisticated analyzer that could detect runtime requirements from package files, build tools, and framework patterns across multiple ecosystems.

EC2 Instance Initialization: Ensuring instances were fully ready before deployment required careful orchestration of SSM agent checks, user data scripts, and proper error handling for AWS API rate limits.

Build Performance: Long build times for compiled languages led us to implement ultra-fast build modes with optimized compiler flags and build caching strategies.

Accomplishments that we're proud of

  • Built a truly universal deployment system that works with any language without manual configuration
  • Achieved real-time log streaming with sub-second latency using Server-Sent Events
  • Implemented AI-powered error detection and automatic fixes for common build failures
  • Created an intuitive terminal-style UI that developers immediately understand
  • Successfully deployed applications in Python, Node.js, Rust, and Go with zero configuration changes
  • Built a secure environment variable system with encryption and easy management
  • Designed a clean, modern interface with gradient branding and smooth animations

What we learned

We learned the importance of flexible architecture when building universal tools. Each language ecosystem has unique quirks, and rigid assumptions break quickly. We discovered that AI-powered analysis needs validation layers and fallback strategies. Real-time feedback is crucial for developer experience, making SSE a better choice than polling for deployment logs. We also learned that sometimes simpler UIs work better than complex stage-based visualizations.

What's next for Nova CI/CD - AI-Powered Universal Cloud Deployer

Multi-Cloud Support: Extend beyond AWS to support Google Cloud Platform, Azure, and DigitalOcean with automatic provider selection based on cost and region preferences.

Kubernetes Integration: Add support for container orchestration with automatic Kubernetes manifest generation and Helm chart deployment.

Advanced Monitoring: Implement application performance monitoring, error tracking, and automatic scaling based on traffic patterns using Amazon CloudWatch integration.

Rollback and Blue-Green Deployments: Add zero-downtime deployment strategies with automatic rollback on failure detection.

Team Collaboration: Introduce multi-user support with role-based access control, deployment approvals, and audit logs.

CI/CD Marketplace: Create a marketplace for community-contributed pipeline templates and deployment scripts for specialized frameworks.

Cost Optimization: Implement intelligent instance sizing recommendations and automatic shutdown of idle deployments to minimize AWS costs.

Built With

  • amazon-bedrock
  • amazon-nova-pro
  • aws-ec2
  • aws-sdk-v3
  • aws-systems-manager
  • bcryptjs
  • framer-motion
  • github-oauth
  • lucide-react
  • mongodb
  • mongoose
  • next.js-14
  • nextauth.js
  • node.js
  • react
  • react-icons
  • server-sent-events
  • tailwind-css
  • typescript
  • yaml
Share this project:

Updates

Submission history