Blend:it is a cloud-native pipeline for generating and processing .blend assets, integrating backend services, 3D rendering automation, and message-driven workflows. The project is designed to run on Google Kubernetes Engine (GKE Autopilot) with scalability and reliability in mind.
Click here to watch the Full Project Demonstration
- Google Kubernetes Engine (GKE Autopilot) – managed Kubernetes cluster
- Cluster Autoscaler – automatic scaling of pods/nodes
- Load Balancer – single entrypoint for services
- Secrets & ConfigMaps – for secure credentials and configuration
- Java 24 with Spring Boot
- REST APIs
- Security (CORS, CSRF config, JWT planned)
- Maven – build and dependency management
- RabbitMQ – message broker for asynchronous job handling
- Kubernetes Service & Secret integration for RabbitMQ access
- Blender –
.blendfile processing - Python – for Blender scripting and asset automation
- Google Cloud Storage (GCS) – storing
.blendfiles and outputs
- kubectl – Kubernetes CLI for deployments and troubleshooting
- YAML manifests – Deployment, Service, and Autopilot resource configs
- Spring Data – database integration (future scope)
The Blend:it Worker App is a desktop application built with Electron that connects to the Blend:it pipeline. It acts as a worker node, pulling jobs from the queue, executing them (e.g., Blender rendering, asset processing), and sending results back to the cloud.
- Cross-platform desktop app powered by Electron
- Executes Blender/Python scripts locally for rendering tasks
- Uploads output files (images,
.blend, assets) to Google Cloud Storage - Provides a minimal UI for worker status and logs
- Electron – cross-platform desktop framework
- Node.js – runtime for app logic
- Blender (CLI) – for rendering and script execution
- Python – Blender scripting integration
- REST API – communication with Blend:it backend
main.js→ Electron main process (window + job handling)renderer/→ UI components (status, logs, controls)worker/→ Job processor that integrates with Blender CLI and scriptsconfig/→ RabbitMQ + API configs
# Install dependencies
npm install
# Run in development mode
npm start
# Build distributable app
npm run build
The backend is not fully uploaded to GKE for resource limitations. Only authentication and worker handler is up and running. To test it you can go to these urls and make api request for login, signup and email verification. Also worker can pull jobs from the server. But users currently cannot upload their files as the microservice is not yet running in Google kubernetes engine. It runs fine on a local network
We have added javafest@therapservices.net as admin in our kubenetes cluster
http://34.171.206.206:80/auth/signup
POST
{
"userId": "anything-unique",
"email": "your-email",
"password": "HelloWorld",
"fullName": "You Name"
}http://34.171.206.206:80/auth/verify POST
{
"email": "your-email"
}http://34.171.206.206:80/auth/verify/confirm POST
{
"verificationCode": 123456,
"email": "your-email"
}http://34.171.206.206:80/auth/login POST
{
"email": "your-email",
"password": "HelloWorld"
}http://34.171.206.206:80/users/me GET
with Authorization Header Bearer Token \
http://34.171.206.206:80/users/ GET
with Authorization Header Bearer Token \
http://34.171.206.206:80/public/ GET to see total users in our service
Members:
Pritom Das
Zubayer Hussain Uday