JSFiddle - React, Tailwind, and code Playground

HTML

<canvas id="myCanvas"></canvas>

JavaScript

var c=document.getElementById("myCanvas");  
var ctx=c.getContext("2d");  
c.width=800;  
c.height=600;  
v=450;  
t=0;o=255;m=Math;  
function i(){  
    t+=0.008;  
    w=611+m.sin(t)*100;  
    r=m.floor(m.sin(t*11)*o);  
    g=m.floor(m.sin(t*5)*o);  
    n=m.floor(m.sin(t*7)*o);  
    ctx.fillStyle="rgba(0,0,0,0.005)";  
    ctx.fillRect(0, 0, w, w);  
    ctx.fillRect(w, w, w, w);  
    ctx.fillStyle="rgba("+r+","+g+","+n+",0.1)";  
    ctx.fillRect(w, 0, w, w);  
    ctx.fillRect(0, w, w, w);  
    ctx.drawImage(c,0,w,w,w);  
    ctx.drawImage(c,w,w,w,w);  
    ctx.drawImage(c,w,0,w,w);  
    ctx.drawImage(c,0,0,w,w);  
    ctx.translate(v,v);  
    ctx.rotate(0.003*m.abs(m.sin(t)));  
    ctx.translate(-v,-v);  
    setTimeout(i,20);  
}
i();