# Use and adapt handwritten-math-recognizer

Use the documented interfaces and source layout for **handwritten-math-recognizer**. The sections below retain the README’s examples and configuration details.

## Project Structure

```
smart-classroom/
├── main.py                  # Main application
├── app.py                   # Dashboard app (train / test / camera)
├── draw_pad.py              # Drawing pad with digit segmentation
├── retrain_robust.py        # Trains models/expr_model.pth
├── generate_tests.py        # Deterministic test image generator
├── gen_demo.py              # Regenerates the README screenshots
├── config.py                # Configuration
├── requirements.txt         # Dependencies
├── docs/                    # Demo screenshots
├── utils/
│   ├── face_detector.py     # Face detection & recognition
│   ├── number_recognizer.py # CNN number recognition
│   └── profile_manager.py   # Student profiles & grading
├── models/                  # Saved ML models (gitignored)
├── data/                    # MNIST + test data (gitignored)
└── profiles/                # Student profile JSONs
```

## Troubleshoot a local change

1. Reproduce the smallest example from the [quick-start guide](/docs/up-to-code-handwritten-math-recognizer/quick-start-guide).
2. Compare required configuration and dependency versions with the README.
3. Check the linked issue tracker for the same error. Include the command, runtime version, and relevant error when reporting a problem; omit credentials.

## Source and help

- [GitHub repository](https://github.com/Up-to-code/handwritten-math-recognizer)
- [Original README](https://github.com/Up-to-code/handwritten-math-recognizer/blob/main/README.md)
- [Issues and existing reports](https://github.com/Up-to-code/handwritten-math-recognizer/issues)
