A Java-based neural network application that recognizes handwritten characters from a 5x6 grid. The project implements a feedforward neural network with backpropagation, complete with GUI input, training/testing modes, and real-time error visualization.
- 🧠 Feedforward Neural Network – Learns to recognize characters through training
- ✍️ 5x6 Input Grid – Users draw characters on a simplified grid layout
- 🔁 Training & Testing Modes – Switch between learning new characters or evaluating model performance
- 📉 Real-time Error Visualization – Watch the network improve over time
- 🖼️ Java AWT GUI – Intuitive interface for drawing and interaction
- 🔧 Backpropagation Algorithm – Trains the network by minimizing output error
| Component | Technology |
|---|---|
| Language | Java |
| ML Logic | Feedforward Neural Network w/ Backpropagation |
| GUI | Java AWT |
| Development Platform | Any Java-capable IDE / Terminal |
| Version Control | Git + GitHub |
Follow these steps to run the Handwriting Recognition System using the provided .jar file.
- Java Runtime Environment (JRE 8 or higher)
- Optionally, a Java IDE like NetBeans or Eclipse
- Go to the GitHub repository.
- Click the green Code button, then Download ZIP.
- Extract the folder on your machine.
You should see:
Handwriting-Recognition-System/
├── Handwriting Recognition System.jar
├── demo images/
├── neuralnetwork/
└── README.md
- Open your terminal or command prompt.
- Navigate to the folder containing the
.jarfile. - Run:
java -jar Handwriting Recognition System.jar- Navigate to the folder containing
Handwriting Recognition System.jar. - Double-click the file to run it.
💡 If nothing happens:
- Ensure you have Java installed.
- On some systems, you may need to right-click → Open With → Java.
- Open your Java IDE (NetBeans, IntelliJ, Eclipse).
- Create a new project and add the
.jaras an external library or run configuration. - Run the project or create a custom run config pointing to the
.jar.
(Run from Source Code)
- Open your Java IDE (e.g., IntelliJ, NetBeans, Eclipse).
- Create a new Java project.
- Import the
.javafiles from thesrc/folder into the project. - Set
TestHand.javaas the main entry point (the file with themain()method). - Build and run the project.
- Java not recognized?
- Ensure Java is installed and added to your system PATH.
- GUI not opening?
- Make sure the
.jarfile is not corrupted. - Check that you are using Java 8+.
- Make sure the
- Double-click doesn't work?
- Try running it via terminal as described above.
Below is a visual demo of the Handwriting Recognition System in action:
- Left: Training mode, where the neural network is learning to recognize new characters.
- Right: Testing mode, where the trained network predicts user-drawn characters.
- Java AWT – For the lightweight UI framework
- Neural Network community – For tutorials and foundational math
- Professor T. Henry – For project support and feedback
- Open source inspiration – For general architecture ideas and optimizations

