Personal2026

Snooker Score

A web application for tracking scores and analyzing snooker playing statistics

Snooker Score
Role
Full Stack Developer
Year
2026
Team
Solo Project
Tech Stack
Node.js, Next.js, MySQL

A web application designed for recording snooker scores in real-life gameplay with friends or family. It includes a member system (Register/Login) for managing personal accounts. Within the system, users can manage player lists and access in-depth statistical analysis for each player. The competition structure is organized into Sessions and further divided into Frames, supporting two or more players. It allows recording both normal scores and foul points, along with a detailed timeline at both frame and session levels. Additionally, it features an Archived Sessions system for storing past gameplay history. A key highlight is the score recording interface, which is designed with a clean and intuitive UX/UI. It also supports Optimistic UI, using a local queue to temporarily store data, allowing smooth and continuous score input even during unstable internet connections.

01

The Problem

  • Recording snooker scores, including fouls, using traditional methods such as paper is inconvenient, time-consuming, and prone to errors, especially when playing multiple frames.
  • There is a lack of tools for tracking long-term statistics to monitor progress or compare performance (e.g., win rates, scoring statistics) among friends or family.
  • Unstable internet connections can cause delays or interruptions in applications that require server responses for every scoring action.
02

The Solution

  • Developed a player and match management system structured into Sessions and Frames, with an archive feature to store completed sessions while preserving their statistics.
  • Built a multi-player score tracking system with a detailed timeline, enabling accurate playback of events in each frame and generating statistical analysis from the data.
  • Implemented Optimistic UI in the scoring interface, allowing instant visual updates upon user input while queuing data locally before syncing with the database. This ensures smooth usability even during temporary network issues and maintains data consistency.
03

The Result

  • Delivered a fully functional snooker scoring application with a clean and user-friendly UX/UI, optimized for mobile usage during gameplay.
  • Users can review match history, win/loss statistics, and detailed scoring timelines for themselves and other players in an organized manner.
  • Provides a seamless user experience, eliminating delays when recording scores during unstable internet conditions, allowing players to stay focused on the game.

Project Gallery

PC - User interface

Gallery image 1
Gallery image 2
Gallery image 3
Gallery image 4
Gallery image 5
Gallery image 6
Gallery image 7
Gallery image 8
Gallery image 9
Gallery image 10
Gallery image 11
Gallery image 12
Gallery image 13
Gallery image 14
Gallery image 15
Gallery image 16
Gallery image 17
Gallery image 18
Gallery image 19
Gallery image 20
Gallery image 21
Gallery image 22

Mobile - User interface

Gallery image 1
Gallery image 2
Gallery image 3
Gallery image 4
Gallery image 5
Gallery image 6
Gallery image 7
Gallery image 8
Gallery image 9
Gallery image 10
Gallery image 11
Gallery image 12
Gallery image 13
Gallery image 14
Gallery image 15
Gallery image 16
Gallery image 17
Gallery image 18
Gallery image 19
Gallery image 20
Gallery image 21
Gallery image 22
Gallery image 23
Gallery image 24
Gallery image 25
Gallery image 26
Gallery image 27
Gallery image 28
Gallery image 29