Canvas doesn't wrap text — my OG image generator painted titles off the 1200px edge
When I built an OG image generator — POST a title and description, get back a 1200x630 social-card...
Tag archive
When I built an OG image generator — POST a title and description, get back a 1200x630 social-card...
Generating Thumbnail Images in the Browser with Canvas API Blog thumbnail generators are...
My browser game Void Parry is a neon boss rush: 15 bosses, you reflect their bullets back with a...

When presenting intricate microservices, Kubernetes topologies, or distributed event buses to...
Neon games look flat without bloom: the soft light that bleeds around bright things. The usual advice...

Custom Arabic calligraphy is one of those forms of art where the finished piece often looks simpler...
Cropping images into shapes in the browser: canvas clip paths vs SVG masks I build free...
In my last post I wrote about why I built a tool that makes images bigger instead of smaller. A few...

When I was trying Canvas, I was completely puzzled. It felt so frustrating; I felt like I was writing...
Byte-identical PNG output at quality 0.1 and 1.0, a JPEG that drops 90% between q=1.0 and q=0.8, and WebP beating JPEG at every setting. Raw numbers from canvas.toBlob, plus the two mental-model bugs they expose.
Text-to-image tools are a fun canvas project with a surprising number of gotchas: fonts that haven't...
Most "remove GIF background" tools upload your animation to a server, run a keying model, and send...