A suite of web-based chess tools.
- PGN Info & Analytics: A client-side PGN parser that generates instant statistics, extracts player/event metadata, and validates file integrity without uploading data to an external server.
- ECO Code Browser: A hierarchical navigation tool for the Encyclopedia of Chess Openings (Volume A-E), allowing users to explore opening lines and variations.
- Tournament Archive: A curated download center for historical tournament PGNs. Includes automatic calculation of average Elo and FIDE Tournament Categories based on player ratings.
- Engine Database: A searchable reference for chess engines, filtering by name, author, language, and release details.
- Chess.com API Reference: Documentation and reference tools for interacting with public chess data APIs.
- Theme Engine: Robust theming support with persistent dark/light mode toggles.
- Accent Customization: Users can select from multiple color palettes (Burlywood, Teal, Cornflower, etc.) to match their aesthetic preference.
- Responsive Design: Built with modern CSS Grid and Flexbox to work seamlessly across desktop and mobile devices.
- Frontend: HTML5, CSS3 (CSS Variables for theming), Vanilla JavaScript (ES6+).
- Data Format: JSON (for structured data like ECO codes and engines) and PGN (Portable Game Notation).
- Utilities: Python (used for data scraping, calculating average Elo, and generating cross-tables).
chessnerd/
├── css/ # Global styles and theme definitions
├── js/ # Application logic (PGN parsing, UI interaction)
├── data/ # Static JSON databases (ECO codes, engines)
├── tournaments/ # PGN archives and Python maintenance scripts
│ ├── calc_avg_elo.py # Utility to calculate FIDE categories
│ └── ...
├── index.html # Main dashboard
└── [tool].html # Individual tool interfaces
Because Chess Nerd is built as a static site, it requires no complex build process or package manager.
-
Clone the repository:
git clone https://github.com/yourusername/chess-nerd.git
-
Launch: Simply open
index.htmlin any modern web browser.- Note: For strict CORS policies (loading JSON data), it is recommended to run a local server.
# Python 3 example cd chessnerd python -m http.server 8000