Generate Clean, Accessibility-First Covers. Zero Tracking. Zero Friction.

Why I Built This

I used to generate LinkedIn cover images with a local Python script. It was simple, but I had to wrestle with virtual environments every time I needed a new one. I just wanted a reliable, no-setup way to make clean, readable covers.

So I rebuilt it as a lightweight web app using Azure Functions and Next.js. With no login and no dependencies, you can just generate and download.

Only after it was working did I add basic analytics. It was initially just for curiosity, but it soon became a way to learn from real usage: which settings failed, which were popular, and what to refine next.

That turned Cover Craft from a simple image generator into a quiet lesson in observable, privacy-first software.

🧭 Engineering Principles

Shift-Left Accessibility

Automated WCAG AA contrast validation is baked into the generation pipeline, preventing inaccessible output by design.

Privacy by Design

A zero-data architecture with no cookies, no tracking, and no persistence, ensuring complete user anonymity.

Stateless Reliability

Server-side rendering via Azure Functions ensures consistent visual fidelity and cross-platform rendering accuracy.

Privacy-First Observability

Structured, anonymized telemetry provides system insights and performance monitoring without compromising user privacy.