Was this made by yourself? This is an impressive amount of work.
I'm curious how did you make the editable text? It looks like it is inside the canvas rather than with regular DOM nodes like Canva. The W3C recommends against [1] doing this due to all the issues (selection, undo/redo, keyboard nav, special glyphs, RTL languages, etc) that come with text editing... but it appears to work really well. Or did you find some library to do that?
[1]: https://www.w3.org/wiki/No_edit_change_proposal_for_canvas_t...