Live at 24shotclock.com
A professional-grade basketball shot clock simulator built for referees, coaches, and fans who want to practice officiating or follow a live game. Fully compliant with FIBA rules.
- 24s / 14s resets — one-tap resets per FIBA rules (backcourt possession → 24s, offensive rebound / frontcourt control → 14s)
- Start / Stop — single tap to freeze or resume the clock
- Correction mode — increment or decrement seconds to match the referee's monitor review decision
- Clear — blank the display during free throws and between periods
- Arena video hero — immersive basketball court background on the home screen
- Basketball loader — DSEG14 digital-font countdown animation on every page transition
- Light & Dark themes — persisted per device
- Fully responsive — optimised for phones (portrait and landscape), tablets, and desktop
- 5 languages — English, Italian, Spanish, French, Greek (auto-routed per URL prefix)
- SEO optimised — structured data (WebSite, WebApplication, FAQPage, HowTo), Open Graph, Twitter cards, canonical URLs
| Route | Description |
|---|---|
/ |
Landing page with hero, feature overview, and mode cards |
/clock |
The shot clock — full controls |
/play |
Quick-launch page that goes straight to the clock |
/instructions |
Step-by-step operating guide with pro tips |
/fiba-resources |
Links to official FIBA rulebooks and documents |
/faq |
Frequently asked questions |
/about |
About the project and the developer |
Non-English routes are prefixed: /it/, /es/, /fr/, /el/.
The best way to practice is to broadcast a game on TV or YouTube and operate the shot clock in real time alongside the referees.
- Throw-in / new possession → Reset 24s, then Start
- Offensive rebound → Reset 14s (clock keeps running)
- Defensive foul in backcourt → Stop, Reset 24s
- Defensive foul in frontcourt with ≥14s remaining → Stop, leave as is
- Defensive foul in frontcourt with <14s remaining → Stop, Reset 14s
- Free throws → Clear display; after last FT made, Reset 24s
- Referee monitor review → Use Correction to adjust seconds
| Framework | React 18 + TypeScript |
| Styling | styled-components |
| Routing | React Router v6 |
| Animations | react-spring |
| Hosting | AWS Amplify + CloudFront |
| Font | DSEG14 (digital clock), Poppins (UI) |
npm install
npm start # dev server at localhost:3000
npm run build # production build
npm test # interactive test runner
npm test -- --watchAll=false # single test runBuilt by Chen Gazit