Project / 2022 - 2026
Jophy
Ongoing project aggregating player and gaming-platform data with a NestJS backend and a Next.js client.
In the late 1990s and early 2000s, PC gaming was expanding rapidly. Playing a game usually meant buying it on a CD and installing it on a computer.
In 2003, Steam transformed the model with an entirely digital distribution platform. New uses emerged around it, including achievements, communities, game collections and customizable profiles.
Over time, other platforms followed, including Xbox Live, PlayStation Network, EA Origin, Uplay and, more recently, Epic Games. They offer similar features, but their data remains siloed.
As a result, a player on one platform cannot easily compare their profile with a friend using another platform. That observation led me to develop Jophy, an ongoing project designed to aggregate data from different gaming platforms into a consistent model.
Users can build an overview of their gaming profile, track their performance and compare themselves with the community through a unified interface.
The main challenge is not the interface but the data collection. Since platforms do not always provide public APIs, the project combines web scraping, network-request analysis and authentication management.
The first integration targets Steam, collecting player data and achievements. The data model is designed generically so that other platforms such as PlayStation Network, Xbox and EA can be added in the future.
The NestJS backend is split into two parts: an API and a scanner responsible for collecting data. The Next.js client, built with TailwindCSS, displays a player’s profile and lets them browse their games and achievements.
The project uses self-hosted CI/CD based on Gitea Actions, Traefik and Komo.do.
