ViroDraw

A browser-based tool to simplify image and slides creation. Design hero images, social cards, presentation slides, and more. Built by BigData Boutique.

View on GitHub Get Started
ViroDraw screenshot showing the canvas editor

Features

Visual Canvas Editor

Drag-and-drop element positioning powered by Konva.js. Configurable dimensions, auto-scaling viewport, keyboard shortcuts, and transform handles.

Rich Text Styling

Multiple text elements with Google Fonts support, font style options, alignment, color picker, opacity, rotation, drop shadow, stroke, letter spacing, and more.

Image Support

Add images from URL, file upload, drag-and-drop, or clipboard paste. Persistent image library, styling options, and transform handles.

Backgrounds

Set backgrounds from URL or file upload with auto cover-scale. Recently used backgrounds stored locally for quick reuse.

YAML Configuration

Save and load canvas state as YAML. Create reusable templates with canvas size, background, text elements, images, fonts, and export format.

Flexible Export

Download your canvas as WebP, PNG, or JPG. Server-side save to disk when running with the backend.

Getting Started

Run with Docker

docker pull ghcr.io/bigdataboutique/virodraw
docker run -p 8000:8000 ghcr.io/bigdataboutique/virodraw

Deploy to Kubernetes

kubectl apply -f k8s/deployment.yaml

Ready-made manifests (Deployment, Service, Ingress) are included in the k8s/ directory. Edit the Ingress host and TLS settings for your environment.

Run locally (development)

# Frontend
cd frontend
npm install
npm run dev

# Backend
cd backend
pip install -r requirements.txt
uvicorn backend.main:app --reload

Tech Stack