Explanations
Background, context, and conceptual understanding of NHL Scrabble.
What are explanations?
Explanations are understanding-oriented discussions that clarify and illuminate topics. They provide background, context, and discuss alternatives. Unlike tutorials (which teach) or how-to guides (which solve problems), explanations help you understand why things are the way they are.
Available Explanations
Core Concepts
Why Scrabble Scoring? - The rationale behind the project
Origin of the idea
Why it’s interesting
What it demonstrates
Real-world applications
How Scrabble Scoring Works - Technical implementation details
Letter value calculations
Name parsing logic
Scoring algorithms
Special cases handling
Architecture Overview - System design and structure
High-level architecture
Component responsibilities
Design decisions
Trade-offs made
Web Architecture - Web interface design
FastAPI integration
Frontend architecture
API endpoints
Real-time features
Technical Decisions
NHL API Strategy - How we integrate with NHL’s API
Why this API over alternatives
Rate limiting approach
Caching strategy
Error handling philosophy
Testing Philosophy - Our approach to testing
Why we test what we test
Unit vs integration vs end-to-end
Coverage targets
Mocking strategies
Development Tools
UV Ecosystem - Why and how we use UV
Benefits of UV (10-100x speedup)
Integration with tox
Performance improvements
Migration from pip/poetry
How to use explanations
Build understanding: Read to understand the “why” behind decisions
Evaluate alternatives: See what was considered and why
Learn patterns: Understand approaches applicable to other projects
Contribute effectively: Know the philosophy before proposing changes
Not finding what you need?
Learning the basics? Start with Tutorials
Solving a problem? Check How-to Guides
Looking up syntax? See Reference documentation
Have a question? See our Support Guide
Want to discuss? Start a discussion
Contributing
Have insights to share about why the project is designed the way it is? We welcome explanatory documentation!
See How to Contribute to add new explanations.