Congratulations on getting your hands dirty and doing everything yourself like computing gradients manually, badly shuffling (non Fisher-Yates), badly js transpose (double swapping), it is a great way to learn.
Congratulations on completing a full pipeline, that's the hard part then it just swapping pieces for better pieces.
I advise non-technical readers not to attach much value to the results of this neural network as it is probably inferior to the even simpler naive Bayes.
The model of the neural network is simplistic :
Concat(Word Vectors)-Dense(120,act=sigmoid)-Dense(60,act=sigmoid)-Dense(2,act=sigmoid)
The Concat operation mean it is especially sensible to dropping or adding a word as it will offset the remaining words and give a totally different vector.
Using word vectors mean it doesn't forgive any spelling mistake as a spelling mistake will usually correspond to <unknown> vector.
Using a feed forward neural network means formulaic titles with a single word substitution from a good positive example from the training set will often work.
It is trained by gradient descent using a squared error loss, on ~1000 examples one example at a time without cross-validation using a custom written neural network library. (Almost all these bad choices can be solved by using a framework).
It seems to have successfully over-fit as it return Good ~1.0 for positive examples from the training set.