# About RenderStack

## What is RenderStack?

RenderStack is an API-first dynamic image and PDF generation platform. It enables developers, marketers, and no-code builders to design pixel-perfect image templates visually, define dynamic layers, and render personalized images and PDFs at scale via REST API or embeddable GET URLs.

## The Problem

Generating polished, brand-consistent images programmatically is surprisingly hard:

- **Headless browser approaches** (Puppeteer, Playwright) require maintaining browser infrastructure, handling memory leaks, managing timeouts, and debugging CSS rendering inconsistencies across environments.
- **HTML-to-image services** produce inconsistent output due to browser rendering differences and offer limited layout control for complex designs.
- **Manual design tools** don't scale — creating hundreds of variations of certificates, social cards, or product images by hand is not feasible.
- **Basic image stamping APIs** lack layout intelligence — they can't handle missing data, variable item counts, or conditional content without client-side logic.

## The Solution

RenderStack provides a complete pipeline from visual design to API-driven rendering:

1. **Design visually** — A drag-and-drop canvas editor with text, images, shapes, SVGs, QR codes, auto-layout containers, and repeater elements.
2. **Define dynamic layers** — Mark any element as dynamic with an API name. Set fallback chains, visibility rules, and conditional logic directly in the template.
3. **Render via API** — Send a POST request with JSON overrides and get back PNG, JPEG, or multi-page PDF. Or embed a GET URL directly in HTML for zero-code rendering.

The output is deterministic, pixel-perfect, and brand-safe — every time.

## Key Differentiators

### Auto-Layout Containers
Unlike competitors, RenderStack includes flexbox-powered containers that automatically reflow content when elements hide or change size. No manual layout fixes needed.

### Fallback Chains
Declare ordered fallback strategies for missing data — API data, initials, defaults, or hide — all without any client-side logic.

### Repeater Elements
Render 1 to N items from a single template. Speakers, products, team members — one template handles any count dynamically.

### Non-Blocking Renders
Broken image URLs produce warnings, not errors. Renders continue gracefully with fallback behavior and automatic recovery.

### AI Template Creation
Upload an image or PDF and AI analyzes the layout to auto-generate an editable template — detecting elements, positions, and relationships automatically.

### Embeddable GET URLs
Generate images via GET request with query parameters. Embed directly in HTML img tags — no server-side code required. Built-in caching, rate limiting, and allowed host controls.

## Who Uses RenderStack?

- **Backend developers** automating image generation for SaaS platforms
- **Full-stack developers** building social card, certificate, or invoice pipelines
- **No-code builders** on Webflow, WordPress, or email platforms embedding dynamic images
- **Vibe coders** using Cursor, Bolt, Lovable, or Replit who want instant image API integration
- **Marketing teams** generating personalized campaign images at scale
- **E-commerce platforms** creating product cards from catalog data
- **Event organizers** producing attendee badges and speaker cards dynamically

## Technical Architecture

- **Rendering engine**: Server-side rendering via node-canvas (not headless Chrome)
- **Output formats**: PNG, JPEG, PDF (multi-page, up to 50 pages per render)
- **API style**: REST with sync and async endpoints
- **Authentication**: API keys with four permission levels (master, project, read-only, GET)
- **Security**: AES-256-GCM encrypted credentials, scoped API keys, rate limiting, allowed host controls
- **Storage**: Optional auto-upload to AWS S3
- **Multi-tenancy**: Organization-level data isolation with RBAC
