DeployNinja
DeployNinja is a deployment platform with GitHub-triggered builds, live logs, AWS-backed delivery, and repeatable release flows.
Overview
DeployNinja replaces manual deployment scripts with a GitHub-native CI/CD platform. Webhooks trigger automated builds, stream logs in real-time, and deploy to ECS with zero-downtime rolling updates.
DeployNinja replaces manual deployment scripts with a GitHub-native CI/CD platform. Webhooks trigger automated builds, stream logs in real-time, and deploy to ECS with zero-downtime rolling updates.
Architecture: control plane (Next.js) manages projects and triggers, build server (Node.js) runs Docker builds and pushes to ECR, reverse proxy routes traffic to ECS containers. State in PostgreSQL, logs in ClickHouse, events via Kafka.
How It Was Built
The main technical choices behind the product, from system design to the parts that make it work day to day.
- Separated concerns across three services: control plane for project configuration and webhook management, build server for Docker builds and ECR pushes, reverse proxy for routing to ECS containers.
- Integrated GitHub webhooks with signature verification, branch filtering, and automatic build triggers on push to configured branches.
- Separated concerns across three services: control plane for project configuration and webhook management, build server for Docker builds and ECR pushes, reverse proxy for routing to ECS containers.
- Integrated GitHub webhooks with signature verification, branch filtering, and automatic build triggers on push to configured branches.
- Implemented log streaming via Kafka topics (build-logs, deployment-logs) with ClickHouse aggregation for real-time tailing and historical query.
- Configured ECS rolling updates with health checks, auto-rollback on failure, and S3 for static asset storage.
Impact
- Reduced deployment time from about 15 minutes to 4 minutes by removing repeated manual steps.
- Live logs and centralized state made failures easier to understand and fix.
- Reduced deployment time from about 15 minutes to 4 minutes by removing repeated manual steps.
- Live logs and centralized state made failures easier to understand and fix.
- Made releases more repeatable because the flow lives in the platform instead of in scattered scripts and local knowledge.
Highlights
- Reduced deployment time from 15 minutes to 4 minutes by eliminating manual steps and parallelizing build stages.
- Zero-downtime deployments with ECS rolling updates and automatic rollback on health check failures.
- Reduced deployment time from 15 minutes to 4 minutes by eliminating manual steps and parallelizing build stages.
- Zero-downtime deployments with ECS rolling updates and automatic rollback on health check failures.
- Real-time log streaming via Kafka/ClickHouse enables debugging without SSH access to build servers.
Tech Stack
More Projects
Additional work across AI products, developer tooling, and full-stack systems.
Next.js 16
Edward
An AI coding workspace where developers can describe apps in plain language, generate production-ready code, inspect and edit files in real-time, run projects in isolated Docker environments, publish live previews, and sync everything directly to GitHub without leaving the product.
Next.js
Bonkers by Foyer
Creative production system for making and reusing high-quality visual assets.
Next.js
Agentic chat
AI workspace that uses memory, documents, tools, and vision to give grounded answers.