Hades
Personal Project • 2026
I designed and developed Hades, an app used to track deaths in video games. Powered by Contentful, the app is completely dynamic, offering statistics and individual pages for each game. I also created pixel art for each of the game covers to enhance the retro appearance.
Next.js • Contentful • Netlify


About the project
Hades is a web app powered by Contentful and Next.js, designed to track and analyse player deaths across video games.
I built this as a personal project, inspired by a playthrough of Ori and the Will of the Wisps. While playing, I noticed how frequently I was dying. That sparked the idea: instead of tracking progress or achievements like most gaming apps, why not focus on the amount of player deaths?
This concept gave the project a unique angle. Rather than celebrating completion, Hades highlights persistence – turning every death into data worth exploring.
The goal was to create a system capable of dynamically tracking deaths using an external content platform, removing the need for manual updates within the app itself. I wanted the application to support multiple games within a single system, with automatic tracking and storage of death data. I also wanted the system to calculate custom statistics, such as most deaths by genre, top three games by death count, and deaths per session over time.
Each game would also have its own dedicated page, which would store all related data for that game, including session history and statistics.
Challenges
Dynamic
Primarily, the system needed to be able to handle dynamic, structured data while remaining flexible enough to scale for many games with individual statistics.
Flexible
Because death tracking is session-based and cumulative, the data model needed to support both granular entries and high-level summaries.
Simple
Overall, the app needed to be simple. It would be easy to overwhelm the user with endless statistics and data for hundreds of games, so I needed to be careful to highlight only the most important elements.
Approach
To address these challenges, I used Contentful as the backend for managing game and session data. Its content modelling capabilities allowed me to define custom types for games and sessions, making it straightforward to store and retrieve structured data.
On the frontend, I built the application using Next.js. This allowed me to take advantage of dynamic routing, where pages are automatically generated based on a game’s slug. As a result, each game page is created programmatically, ensuring scalability as new games are added.
For the design of the site, I wanted to keep the visuals minimal and data-focused. I stuck to a simple palette of red, white and dark grey, making use of monospace fonts, which enhanced the retro visual of the site. I also challenged myself to create pixel art renditions of the game covers to fit the visual style.
The statistics are completely dynamic, calculated based on session data imported through Contentful. The app doesn’t overwhelm users with stats, only the most important ones, such as: total deaths, average deaths per game and per session, and the top three games ordered by amount of deaths.
