Features
- Microservice architecture - independently scalable services.
- Modern frontend - Angular 20 + SSR for speed and SEO.
- Secure authentication - JWT-based auth via middleware.
- Cloudflare R2 integration - scalable object storage.
- Redis hashset - real-time deployment status tracking.
- Dockerized services - containerized deployments on Render.
- CI/CD automation - GitHub Actions for building + deploying projects.
- Community showcase - explore and share deployed projects.
Getting Started
You can build and host your React apps through Jett. Our microservice architecture provides a smooth and scalable deployment process with clear separation of concerns. You can also explore community projects to gain insights on the latest trends and best practices.
To begin, push your project to a GitHub repository. Once that's ready, connect your repository to Jett by granting access to your GitHub account. The middleware will request permission to view your public repositories. You can also provide a link to a third-party repository you want to deploy — both will show up in your projects dashboard.
After clicking on Deploy, a request is sent to the middleware to trigger the CI/CD pipeline. The system automatically handles building, containerizing, and serving your application, so you can focus on development while Jett takes care of the infrastructure.
Deployment
Deployments through Jett are fully automated. Jett builds and tests your static files, and publishes them to the cloud. These containers are deployed directly on Render, ensuring high availability and smooth scaling. Additionally, Jett runs a cron job on event triggers to monitor the deployment and fetch live status. You will be notified about the deployment status through toast notifications.
You don't need to worry about managing registries, build pipelines, or servers. Just ensure your project resides in your repository root. Jett takes your code, runs it through the CI/CD pipeline, and returns the deployment URL right in the dashboard. Once the process finishes, your project is live and can be shared instantly.
However, it shall be noted that as the webservices are deployed on Render so there is no 24/7 service. On requests after considerable downtime, the system undergoes a cold start. Hence, you might have to reload the page to fetch latest status. But after the cold start barrier is crossed, the system is back to operating smoothly with live fetching of deployment status.
If error persists feel free to contact us, leave comments and suggestions for improvement.
Overview

Under the hood, Jett is powered by a microservice architecture. The Angular 20 frontend runs with server-side rendering for speed, while the Express middleware manages authentication and routing. Cloudflare R2 handles object storage for deployment assets, and Redis provides real-time tracking of deployment states. All services are containerized with Docker and hosted on Render, keeping them isolated, secure, and independently scalable.
Repositories
Frontend
Angular 20 app with server-side rendering, tailwindcss for styling, and standalone components lazy loaded for speedy loading.
jett-frontendMiddleware
Express-based gateway handling authentication & DB connection. Enhanced security features with Jwt such as trashing revoked tokens in a Mongodb collections.
jett-middlewareUpload Service
Clones repos, uploads to Cloudflare R2, updates Redis. Also triggers Github Actions for building static files.
jett-upload-serviceDeploy Service
GitHub Actions worker, builds + redeploys assets to R2. Event triggered function to ensure proper resource management.
jett-deploy-serviceRequest Handler
Serves static assets from R2, routes deployment requests.
jett-request-handler-serviceYour Local Setup
git clone https://github.com/sahil-ansari-47/jett-frontend
git clone https://github.com/sahil-ansari-47/jett-middleware
git clone https://github.com/Sandarva-9304/jett-upload-service
git clone https://github.com/Sandarva-9304/jett-deploy-service
git clone https://github.com/Sandarva-9304/jett-request-handler-service
Once all repositories are cloned to your local, you'll need to install dependencies for each microservice. Navigate into the service folder, then install packages and start the dev server:
cd jett-<service-name>
npm install
npm run devWith everything running, you can access the frontend in your browser at:
http://localhost:4200This will start the backend and frontend servers locally. Simultaneously open Redis for testing deployments. Once you're confident your app works locally, you can start testing and making changes.
Redis & WSL
Redis is used internally by Jett to keep track of real-time deployment states. If you're on Windows and want to replicate the setup locally, you may need WSL with Ubuntu. Install WSL from the Microsoft Store, then set up Redis inside the Linux environment. If you are already on Linux, you can install Redis directly.
sudo apt-get install redisLastly, start the Redis server like so:
sudo service redis-server start
Once Redis is running, you can test it by running the Redis CLI:
redis-cli
Test the connection with the ping command:
127.0.0.1:6379> ping
PONG Once Redis is running, configure your environment variables to point to localhost:6379. For most users, this is only necessary when testing microservices locally — Jett manages Redis for you in the cloud.
Meet Our Devs

System Design, Backend Development
Sandarva Podder
Backend engineer behind Jett's microservice foundation. He designed the infrastructure that keep deployments scalable. Focusing on system design and distributed architecture, he integrated Cloudflare and Redis hashset mechanism.
Contributions
We welcome your contributions!
Fork our GitHub repo , make your changes, and create a pull request. Together we'll make Jett even better.
