For a week i was behind leaferjs - wonderfull canvas library. I started building something with the library, but now it's almost a vector editor.
It can create shapes, texts, and frames using an endless canvas. Everything is done on the client side, there is no backend at all.
What it can currently do:
9 tools (rect, ellipse, line, star, pen, text, image, frame, select)
multiple gradient stops, 16 blending modes, shadow / inner shadow
panels for layers including drag-drop reordering / renaming / locking
export as png, jpg, webp, bmp, or JSON
smart guides when dragging objects Tech stack: React 19, TanStack Store, Tailwind CSS v4, Vite. Leafer UI on the canvas side.
Demo: leafer-editor.vercel.app
Repo: github.com/fayismahmood/leafer-editor
It's far from being perfect. In case you find bugs or bad architecture decisions, I would be glad to hear that.