A modern, professional chess timer application designed for chess players of all levels. From casual games to tournament play, ChessTicks provides all five major tournament timer modes with a sleek, intuitive interface.
Simply click the link above to start using the chess timer immediately in your browser. Works perfectly on:
- 🖥️ Desktop computers
- 📱 Mobile phones
- 📱 Tablets
- 💻 Any device with a web browser
No downloads, no installation, no setup required!
ChessTicks is a comprehensive chess timer application that supports all five major tournament timer modes used in professional chess. Whether you're playing a quick blitz game or a classical tournament match, ChessTicks provides the precise timing controls you need.
- ⚡ Sudden Death - Classic time control (e.g., 5 minutes per player)
- ⏳ Simple Delay - Delay before main time counts down (e.g., 3 min + 5 sec delay)
- 🔄 Bronstein Delay - Unused delay time is added back (e.g., 15 min + 10 sec Bronstein)
- ➕ Fischer Increment - Time added after each move (e.g., 3 min + 2 sec increment)
- 🎯 Multi-Stage - Complex tournament formats (e.g., World Championship style)
- 👆 Gesture Controls - Single tap (move), two-finger tap (check), long press (checkmate)
- 🔊 Audio Feedback - Sound effects for moves, checks, and game events
- 📳 Haptic Feedback - Vibration feedback on mobile devices
- ⌨️ Keyboard Shortcuts - Quick access to all timer functions
- ✨ Visual Animations - Smooth transitions and game state indicators
- 📈 Move Statistics - Track average move time and game phases
- 📋 Detailed Game Summary - Comprehensive post-game analysis
- 📊 Performance Charts - Visual representation of time usage patterns
- 🏁 Game History - Review past games and performance trends
- 📱 Fully Responsive - Perfect on desktop, tablet, and mobile
- 🌙 Professional Dark Theme - Easy on the eyes for long sessions
- 🎭 Smooth Animations - Powered by Framer Motion for fluid interactions
- ♿ Accessibility First - Keyboard navigation and screen reader support
- 🚀 Lightning Fast - Optimized performance for instant responsiveness
👉 Click here to start playing immediately 👈
No installation required! ChessTicks runs directly in your web browser on any device.
- Visit chessticks.vercel.app
- Choose your preferred timer mode (Sudden Death, Fischer, etc.)
- Set your time controls
- Start playing chess with professional timing!
Want to contribute to ChessTicks or run it locally? Here's how to get started:
- Node.js 18+ or Bun
- npm, yarn, pnpm, or bun
-
Clone the repository
git clone https://github.com/UtkarshTheDev/ChessTicks.git cd ChessTicks -
Install dependencies
# Using npm npm install # Using yarn yarn install # Using pnpm pnpm install # Using bun bun install
-
Start the development server
# Using npm npm run dev # Using yarn yarn dev # Using pnpm pnpm dev # Using bun bun dev
-
Open your browser Navigate to http://localhost:3000
- 🎯 Select Timer Mode - Choose from five tournament-grade timer modes
- ⚙️ Configure Time Control - Set base time and increments/delays
▶️ Start Game - Tap the start button to begin timing- 👆 Make Moves - Tap your side of the timer after each move
- 🎮 Special Moves - Use gestures for check (two-finger tap) or checkmate (long press)
Perfect for blitz and rapid games. Each player gets a fixed amount of time.
- Example: 5 minutes per player
- Best for: Quick games, online play, casual matches
Adds a delay before your main time starts counting down.
- Example: 3 minutes + 5 second delay
- Best for: Beginner-friendly games, reducing time pressure
Time used during the delay is added back to your main time.
- Example: 15 minutes + 10 second Bronstein delay
- Best for: Classical games, tournament play
Adds time to your clock after each move.
- Example: 3 minutes + 2 second increment
- Best for: Online platforms, modern tournament formats
Complex tournament formats with multiple time control phases.
- Example: 90 minutes for 40 moves, then 30 minutes + 30 second increment
- Best for: World Championship style, classical tournaments
- 👆 Single Tap - Normal move
- ✌️ Two-Finger Tap - Check move (plays special sound)
- 👇 Long Press - Checkmate (ends game with confirmation)
- Spacebar - Switch active player / Make move
- P - Pause/Resume timer
- R - Reset timer
- Escape - Return to home screen
src/
├── app/ # Next.js app router
├── components/ # React components
│ ├── ui/ # Reusable UI components
│ └── ... # Feature-specific components
├── hooks/ # Custom React hooks
├── lib/ # Core timer logic and utilities
├── stores/ # Zustand state management
├── types/ # TypeScript type definitions
├── utils/ # Utility functions
└── __tests__/ # Test files
- ⚡ Framework: Next.js 15 with App Router
- 📝 Language: TypeScript
- 🎨 Styling: Tailwind CSS
- 🧩 UI Components: Radix UI + shadcn/ui
- ✨ Animations: Framer Motion
- 🗄️ State Management: Zustand
- 🧪 Testing: Jest
- 🎯 Icons: Lucide React
- 🔊 Sound: use-sound (Howler.js)
- 🚀 Deployment: Vercel
The timer engine is built with a modular, extensible architecture:
- TimerEngine - Core timer logic and state management
- TimerModeHandler - Interface for different timer modes
- TimerStore - Zustand store for React state management
- GameAnalytics - Move tracking and performance analysis
# Run all tests
npm test
# Run tests in watch mode
npm run test:watch
# Run tests with coverage
npm run test:coverage# Lint code
npm run lint
# Format code
npm run format
# Type check
npm run type-check
# Build for production
npm run buildWe welcome contributions from the chess and developer community! Whether you're fixing bugs, adding features, or improving documentation, your help is appreciated.
- 🍴 Fork the repository
- 🌿 Create a feature branch (
git checkout -b feature/amazing-feature) - ✨ Make your changes
- 🧪 Add tests for new functionality
- ✅ Ensure all tests pass (
npm test) - 💾 Commit your changes (
git commit -m 'Add amazing feature') - 📤 Push to the branch (
git push origin feature/amazing-feature) - 🔄 Open a Pull Request
- 🐛 Bug fixes and improvements
- ✨ New timer modes or features
- 🎨 UI/UX enhancements
- 📚 Documentation improvements
- 🧪 Test coverage expansion
- 🌐 Internationalization (i18n)
- 🎛️ Custom timer presets
- 📱 Native mobile app (React Native)
- 🤖 AI-powered game analysis
- 📊 Advanced statistics dashboard
- 🐛 Bug Reports: GitHub Issues
- 💬 Discussions: GitHub Discussions
- 📧 Contact: utkarshweb2023@gmail.com
- 🌐 Live App: chessticks.vercel.app
This project is licensed under the MIT License - see the LICENSE file for details.
- 🏆 Chess Community - For feedback and feature requests
- 🎨 Radix UI - For accessible UI components
- 🎭 shadcn/ui - For beautiful component designs
- ✨ Framer Motion - For smooth animations
- 🚀 Vercel - For seamless deployment
