Board Game Score Tracker Web App
About the project
Scorely is a web application designed to track board game sessions, player scores and yearly gaming statistics. The platform allows users to keep a history of their matches while providing analytics and insights about their gaming habits throughout the year.
The visual direction of Scorely was inspired by Neo Brutalism , focusing on bold layouts, strong contrast and a deliberately raw and minimal aesthetic. This approach helped create a design that feels direct, playful and highly functional, while still keeping a distinctive personality that makes the interface stand out from more conventional, polished UI styles.
The main goal of Scorely was to create a clean, intuitive and enjoyable way for board game players to preserve gaming memories and transform raw match data into meaningful statistics and visual insights 🧩💻
Workflow
-
Login
User must authenticate before accessing the platform. Once logged in, can freely navigate between all sections of the application or log out at any time through the main navigation.
-
Stats
After login, the user is redirected to the Stats page, which provides an overview of their yearly activity. The user can also filter statistics by month. The most played game of the selected month is highlighted with a heart icon.
-
Games
In this page, user can view global statistics of their games and matches. The section also includes a list of all available games and a number indicating the total of matches. If the matches for that game are equal or greater than 15, the icon shows a heart. And user can create a new game by defining the game settings:
- Game title: the title of the game.
- Has winner: set if the game has a winner at the end of each match.
- Has score: set if the game has a score and is won by the player with the highest score.
- Low score wins: if has score is true, now can select if low score wins. Set if the game has a score and is won by the player with the lowest score.
- Is coop: set if the game is played in group and everyone wins or lose together.
- Has teams: if is coop is true, now can select if that game has teams. Set if the game is played in team groups and everyone wins or lose together.
When clicking on a game, user enter the Game Details page.
-
Game Details
In this page, the user can view global statistics for this specific game. The section also includes a list of all matches. And the user can edit game settings, edit and delete matches and add a new match by defining:
- A date: the date of the match ocurred
- Location: you can select if the match was played in online or not.
- Players: a list of players that participated in the match. You have to select at least one from the list of Players previously added
- Result: add match results depending on the game settings:
Has winner Has score Low score wins Is coop Has teams Result FALSE - - - - No results to add.
TRUE TRUE FALSE FALSE - The user can add multiple rounds and assign scores to each participant for every round. The winner is automatically determined based on the highest total score.
TRUE TRUE TRUE FALSE - The user can add multiple rounds and assign scores to each participant for every round. The winner is automatically determined based on the lowest total score.
TRUE FALSE - FALSE - The user selects the winner directly from the participant list.
TRUE TRUE FALSE TRUE TRUE The user can add multiple rounds and assign scores to each team for every round. Wins the group with the highest total score.
TRUE TRUE TRUE TRUE TRUE The user can add multiple rounds and assign scores to each team for every round. Wins the group with the lowest total score.
TRUE FALSE - TRUE FALSE The user selects the result as a victory or defeat of the team.
TRUE FALSE - TRUE TRUE The user selects the winner team directly from the participant list.
TRUE TRUE FALSE TRUE FALSE The user can add multiple rounds and assign scores to each team for every round. The user selects the result as a victory or defeat of the team based on the total score.
- Comments: maybe achievements, fun facts about the match, etc.
-
Players
This section displays a list of all created players. User can edit player names at any time.
Technical Challenges
-
Development process
One of the most interesting aspects of the development process was combining my front end skills with AI assisted development tools such as Google Gemini and Anthropic Claude to help implement features and solve technical challenges beyond my current expertise. This allowed me to move faster, experiment with new ideas and expand my development workflow while still maintaining full control over the product design and user experience.
-
BBDD with Supabase
Another key challenge was designing and structuring a maintainable and scalable database using Supabase. I had to carefully think about data relationships between games, players and sessions to ensure the system could grow-1 without becoming rigid or difficult to extend over time.
Results