Artificial Intelligence — Before It Was Mainstream.
Technicalities
Developed in 2005, the original application was a Java 5 desktop application powered by a neural network. In just 500 lines of code, it implements a feedforward artificial neural network from scratch — including training, forward propagation, error calculation, and backpropagation.
The network operates on a 100 x 100 input space, representing 10.000 individual input values. It contains 10 neurons in a hidden layer and 50 output neurons: 25 estimate the X-coordinate and 25 estimate the Y-coordinate. The object to be located is represented as a 5 x 5 square within the input space.
During initialization, the network is trained on 200 randomly generated examples over 1.000 training iterations, using sigmoid activation functions and backpropagation. Through this process, it adjusts the connection weights and learns the relationship between the visual input and the object's position.
Clicking Create Object places the black square at a random position. Clicking Locate Object presents this previously unseen position to the trained network, which estimates its X/Y coordinates. The red circle represents the network's prediction, allowing the predicted position to be compared with the actual position.
All neural-network calculations — including weight initialization, forward propagation, error calculation, and backpropagation — were implemented directly in code. The application therefore implements the underlying mathematics and learning process itself, rather than relying on pre-built neural-network functionality.