Mert Özen's blog posts on software development, backend, frontend, and DevOps.
We draw shapes, paths, gradients and text with the canvas 2D context, process images pixel by pixel, build an animation loop with requestAnimationFrame and fix blurriness on retina screens.