About
What is supaserv?
A self-hosted HTML render service. No browser dependencies on your end — just send HTML, get pixels back.
Architecture
Two components. One API. Zero headless-browser headaches on your side.
Client ──> Gateway (Vercel Edge) ──> Worker (Fly.io)
│ │
├─ Auth (Bearer) ├─ Puppeteer (Chrome)
├─ Rate limiting ├─ FFmpeg (video)
└─ Validation └─ Screenshot / PDF / Video
│
▼
PNG / PDF / MP4 / GIF
Why self-hosted?
- Independence — Own Chrome + FFmpeg instance, no third-party browser API
- Cost — ~$5/month on Fly.io vs $25–350/month for managed services
- Unlimited renders — No per-render pricing, no credit packs
- Privacy — Your HTML never touches a third-party service
- Auto-scale — Worker auto-stops when idle, wakes on first request
Use Cases
- Social media assets — Generate branded posts, stories, and carousels from templates
- OG images — Dynamic OpenGraph images from HTML templates
- PDF reports — Invoices, receipts, dashboards from HTML
- Video capture — Record CSS/JS animations as MP4 or GIF
- Batch rendering — Generate hundreds of frames for sprite sheets or video
Tech Stack
- Gateway — Hono on Vercel Edge Runtime
- Worker — Node.js + Puppeteer + FFmpeg on Fly.io (Frankfurt)
- Auth — 2-layer: external API key + internal worker key
- Container — Custom Dockerfile with Chrome + FFmpeg