JSFiddle - React, Tailwind, and code Playground

HTML

<script src="https://cdnjs.cloudflare.com/ajax/libs/synaptic/1.1.4/synaptic.js"></script>
<div class="input"><span class="title">Input:</span>
</div>
<div class="output"><span class="title">Output:</span>
</div>

CSS

div {
  white-space: pre;
  display: inline-block;
  vertical-align: top;
  font-family: monospace;
  margin: .5em 1em;
}
.title {
  font-weight: bold;
  font-family: sans-serif;
}

JavaScript

console.clear();
var toBinaryArray = function(str){
  var arr = [];
  for (var i = 0; i < str.length; i++) {
    var substr = str.charCodeAt(i).toString(2).padStart(7, "0");
    arr = arr.concat(substr.split(""));
  }
  return arr;
};

var binaryArrayToAsciiString = function(arr){
	var str = "";
	var string = arr.join("");
  for (var i = 0; i < arr.length; i+=7) {
		var letter = string.substring(i,i+7);
	  str += String.fromCharCode(parseInt(letter,2));
  }
  return str;
};

var s = window.synaptic;
var Architect = s.Architect;
var Trainer = s.Trainer;

var myNetwork = new Architect.Perceptron(2, 3, 49)
var trainer = new Trainer(myNetwork)

var trainingSet = [
  {
    input:  [0,0],
    //                    "-------"
    output: toBinaryArray("Call me"),
  },
  {
    input:  [0,1],
    //                    "-------"
    output: toBinaryArray("Ishmael"),
  },
  {
    input:  [1,0],
    //                    "-------"
    output: toBinaryArray("Some ye"),
  },
  {
    input:  [1,1],
    //                    "-------"
    output: toBinaryArray("ars ago"),
  },
    
  
  
];

function roundArray (a) {
	var newArr = [];
	a.forEach(function(c,i){
		newArr.push(Math.round(c));
	});
  return newArr;
}
trainer.train(trainingSet,{
	iterations: 300000,
	log: 1000,
});

console.log("Input: `00` --> " +  "Output: `" + binaryArrayToAsciiString(roundArray(myNetwork.activate([0,0])))) + "`";
console.log("Input: `01` --> " +  "Output: `" + binaryArrayToAsciiString(roundArray(myNetwork.activate([0,1])))) + "`";
console.log("Input: `10` --> " +  "Output: `" + binaryArrayToAsciiString(roundArray(myNetwork.activate([1,0])))) + "`";
console.log("Input: `11` --> " +  "Output: `" + binaryArrayToAsciiString(roundArray(myNetwork.activate([1,1])))) + "`";


var inp = document.querySelector(".input");
var out = document.querySelector(".output");
inp.append("00\n");
out.append(binaryArrayToAsciiString(roundArray(myNetwork.activate([0,0]))) +...