JSFiddle - React, Tailwind, and code Playground

HTML

<!DOCTYPE HTML>
<html>
  <head>
    <style>
      body {
        margin: 0px;
        padding: 0px;
      }
    </style>
  </head>
  <body>
    <div id="container"></div>
    <script src="http://www.html5canvastutorials.com/libraries/kinetic-v4.3.0-beta2.js"></script>
    <script>
      var stage = new Kinetic.Stage({
        container: 'container',
        width: 578,
        height: 200
      });
      var layer = new Kinetic.Layer();

      var imageObj = new Image();
      imageObj.onload = function() {
        var yoda = new Kinetic.Image({
          x: 140,
          y: stage.getHeight() / 2 - 59,
          image: imageObj,
          width: 106,
          height: 118
        });

        var filteredYoda = new Kinetic.Image({
          x: 320,
          y: stage.getHeight() / 2 - 59,
          image: imageObj,
          width: 106,
          height: 118
        });
        
        var rect = new Kinetic.Rect({
        x: 239,
        y: 75,
        width: 100,
        height: 50,
        fill: 'green',
        stroke: 'black',
        strokeWidth: 4
      });

      // add the shape to the layer
      layer.add(rect);

        // add the shape to the layer
        layer.add(yoda);
        layer.add(filteredYoda);
        
 rect.moveToTop();
        
        // add the layer to the stage
        stage.add(layer);

        // apply grayscale filter to second image
        filteredYoda.applyFilter(Kinetic.Filters.Grayscale, null, function() {
          layer.draw();
        });
      };
      imageObj.src = 'http://www.html5canvastutorials.com/demos/assets/yoda.jpg';

    </script>
  </body>
</html>