Kwae render platform
Kwae is a full-stack dynamic video platform that allows users to generate video outputs from structured templates. The system is composed of four main parts: a web frontend, a backend API, a distributed render client, and an Adobe After Effects plugin.
Frontend (Next.js)
The frontend is built with Next.js and serves as the primary user interface. It allows users to:
- Manage accounts and authentication
- Create and manage video templates
- Configure template inputs (text, images, data)
- Queue rendering jobs
- Monitor render status and access outputs
The UI communicates with the backend through a secured API and handles state management, job polling, and file delivery.




Backend (NestJS)
The backend is implemented in NestJS and acts as the orchestration layer of the system. Its responsibilities include:
- Authentication and authorization
- Template and asset management
- Job queue management
- Worker coordination
- Secure file handling and storage
- Public link generation for rendered outputs
The backend exposes REST endpoints and manages render lifecycle state (queued → processing → completed → failed). It also validates inputs and enforces permission boundaries between users and collaborators.
Render Client (Electron)
The render client is a desktop application built with Electron. It functions as a distributed worker node in the system.
Responsibilities:
- Authenticates against the backend
- Polls for available render jobs
- Downloads template data and required assets
- Executes rendering locally via After Effects
- Uploads completed output files
- Reports job status back to the server
This architecture allows rendering to occur on dedicated machines rather than in the browser or backend server, enabling heavy processing workloads without overloading the API infrastructure.

Kwae render client
After Effects Plugin (CEP Panel)
Kwae includes a custom Adobe After Effects CEP plugin that integrates directly inside After Effects.
The plugin:
- Connects templates to Kwae’s backend
- Injects structured data into compositions
- Maps template inputs to layer properties
- Enables dynamic text/image replacement
- Automates render execution
This makes video templates fully programmable and allows non-technical users to generate complex motion graphics through structured inputs.

Kwae After Effects CEP panel
System Architecture Overview
Kwae is built around a distributed, real-time job-processing architecture that separates orchestration from execution. When a user submits a render job through the web application, the backend validates the request, persists the job state, and evaluates whether there are connected workers capable of handling the specific template. Render clients maintain authenticated WebSocket connections to the server, allowing the system to track worker availability in real time.
If an eligible worker is available, the server assigns the job immediately over the open connection. The render client then retrieves the required template data and assets, executes the render locally using the aerender process, and continuously reports progress and state changes back through the same WebSocket channel. Once rendering is complete, the output file is uploaded, verified, and made accessible via a secure delivery link.