A modern, interactive web platform featuring brain-training games built with Astro, Tailwind CSS, and TypeScript. Challenge your memory, reaction time, and problem-solving skills with our growing collection of scientifically-inspired cognitive games.
Test your working memory with increasingly complex sequences. Features:
- Progressive difficulty scaling
- Performance-based scoring system
- Real-time feedback and statistics
Test your arithmetic skills with chained calculations. Features:
- Sequential number operations
- Multiple-choice answers with distractors
- Visual distractions to test focus
- Speed-based scoring system
- Memory Matrix
- Speed Math
- Pattern Recognition
- Logic Puzzles
Mind Games features a component system:
src/styles/components/
โโโ index.css # Main import file
โโโ button.css # Button system (BEM)
โโโ game-stats.css # Game statistics (BEM)
โโโ glass.css # Glass morphism effects
โโโ game-ui.css # Game UI components
โโโ game-card.css # Game card components
โโโ navigation.css # Navigation components
โโโ typography.css # Typography system
โโโ layout.css # Layout and grid system
โโโ animations.css # Animation utilities
โโโ states.css # State management classes
Benefits:
- ๐ฏ BEM Methodology: Professional naming conventions
- ๐ Easy to Find: Component-specific CSS files
- ๐ Maintainable: Clear separation of concerns
- โก Performance: Optimized imports and minimal CSS
- ๐ Developer Experience: Comprehensive documentation
- Framework: Astro 5.0
- Styling: Tailwind CSS 4.0 + Custom Component System
- Language: TypeScript
- Package Manager: Bun
- Deployment: GitHub Pages
# Install dependencies
bun install
# Start development server
bun dev
# Build for production
bun build
# Preview production build
bun preview
Visit http://localhost:4321
to start playing!
Experience Mind Games online at: https://hectorromerodev.github.io/mind-games/
The application is automatically deployed to GitHub Pages on every push to the main branch.
Mind Games features a modular, reusable component architecture:
- Universal Scoring System: Consistent performance evaluation across all games
- Standardized Components: Reusable UI elements and game layouts
- Unified Game Options: Single button system for all interactive game elements
- Type-Safe Game Logic: TypeScript-based game classes with inheritance
- Responsive Design: Mobile-first approach with Tailwind CSS
- BEM Methodology: Maintainable CSS architecture with component-based styling
All games use a standardized scoring framework that evaluates:
- Accuracy: Precision and attention to detail
- Speed: Reaction time and processing efficiency
- Progression: Learning rate and adaptation
- Consistency: Performance stability over time
Performance levels range from "Practice More" to "Outstanding Master" with detailed feedback.
- Framework: Astro 4.x
- Styling: Tailwind CSS
- Language: TypeScript
- Runtime: Bun
- Build: Vite (via Astro)
src/
โโโ components/
โ โโโ game/ # Game-specific components
โ โ โโโ BaseGame.astro # Main game layout
โ โ โโโ GameControls.astro # Standard controls
โ โ โโโ GameGrid.astro # Grid component
โ โโโ ui/ # UI primitives
โ โ โโโ Button.astro # Consistent buttons
โ โโโ GameStats.astro # Score/timer display
โ โโโ StartGame.astro # Start screen
โโโ layouts/ # Page layouts
โโโ pages/ # Routes and games
โโโ utils/ # Game logic and scoring
โโโ styles/ # Global styles
- Create Game Class: Extend
BaseGameClass
for game logic - Design UI: Use
BaseGame.astro
layout with standardized components - Implement Scoring: Configure
ScoreCalculator
for your game type - Add Navigation: Update games listing and navigation
See GAME_ARCHITECTURE.md for detailed instructions.
- Game Architecture - Component system and development guide
- Scoring System - Universal scoring framework
- Component IDs - Standardized element identification
- Deployment Guide - GitHub Pages deployment setup and configuration
<!-- Buttons -->
<button class="btn btn--primary btn--lg">Play Game</button>
<button class="btn btn--start btn--xl">Start Game</button>
<!-- Game Cards -->
<div class="game-card">
<div class="game-card__header">
<h3 class="game-card__title">Math Challenge</h3>
</div>
<div class="game-card__body">
<p class="game-card__description">Test your skills...</p>
</div>
</div>
<!-- Game Statistics -->
<div class="game-stats">
<div class="game-stats__card">
<div class="game-stats__value">42</div>
<div class="game-stats__label">Score</div>
</div>
</div>
- Component System Guide: Complete component reference
- Migration Plan: Migration documentation
- Component Classes: Detailed API documentation
- Follow BEM methodology:
block__element--modifier
- Use component-specific files: Keep styles organized
- Document new components: Update documentation
- Test thoroughly: Ensure cross-browser compatibility
src/
โโโ components/ # Reusable UI components
โ โโโ ui/ # Basic UI elements
โ โโโ game/ # Game-specific components
โ โโโ GameCard.astro # Game listing cards
โโโ layouts/ # Page layouts
โโโ pages/ # Route pages
โโโ styles/ # CSS and component styles
โ โโโ components/ # Modular component CSS
โโโ utils/ # Utility functions
โโโ assets/ # Static assets
- Create game component in
src/components/game/
- Add game page in
src/pages/games/
- Update game listing in
src/pages/games/index.astro
- Follow scoring system patterns
- Use existing UI components
- Modular Components: Each component has its own CSS file
- BEM Methodology: Professional naming conventions
- Tailwind Integration: Custom components extend Tailwind
- Performance Optimized: Tree-shaking and minimal output
- Fork the repository
- Create a feature branch
- Follow the established component patterns
- Add appropriate tests and documentation
- Submit a pull request
MIT License - see LICENSE for details.
Built with โค๏ธ for cognitive enhancement and brain training.