Asset Image Scraper

2025
freelance
Asset Image Scraper screenshot
mockup

Headless service that renders the final image of each personalized kit (output of the Kit Customization Widget) via Puppeteer, and persists it as an optimized product image — instead of re-rendering the canvas on every visit.

Node.jsTypeScriptPuppeteerDockerAzure

// problem

Each personalized kit combination was rendered on the customer's canvas, but the store needed a real, persistent product image (for catalog, cart, checkout, emails) without re-rendering the canvas every time.

// approach

Built a headless Node.js/TypeScript service using Puppeteer to spin up a browser pool, load the kit configuration, render the canvas, and capture the result as an optimized screenshot. Implemented smart caching to avoid re-rendering already-generated combinations and Docker-based deployment on Azure.

// outcome

The service reliably generates final kit product images at scale, avoiding client-side canvas re-renders. Deployed on Azure with Docker, it enabled persistent, reusable product images for catalog, cart, checkout, and email.