LudoExplorer, a personal project built end to end
A personal project that turns public board game data into a recommendation site, from data analysis through to production.
- Role
- From analysis to production
- Since
- 2025
- Languages
- FR · NL · EN
- Status
- In production
The challenge
LudoExplorer is a personal project, built entirely from scratch, that turns a public dataset about board games into a live recommendation experience. It is also a concrete demonstration of the four areas I work on for clients: business and data analysis, automation and applied artificial intelligence.
Board game enthusiasts have thousands of titles to choose from, but few simple ways to find a game that genuinely fits their preferences, group size, language or willingness to read a lot of rules. Public data exists on the subject, but it is large, messy and multilingual and cannot simply be used as it is.
The friction points at the start
-
Friction 01
Thousands of titles
Few simple ways to find a game that fits your real criteria.
-
Friction 02
Raw data
Large, messy and multilingual, not usable as it is.
-
Friction 03
Insider vocabulary
Hard to find a starting point without knowing the hobby's terms.
The approach
Before a single line of recommendation code was written, the real work was in the data. Making sense of a large and inconsistent public export, with games described in several languages, inconsistent categories, missing fields and duplicates, and deciding what was actually worth keeping. Building a classification that reflects how people really search for a game, not simply how the raw data happened to be labelled. And defining what a good recommendation actually means: a combination of similarity, popularity and fit with player count, complexity and language.
Once that foundation was in place, the data was enriched. Short, purpose-written descriptions replaced the often dry and inconsistent source text, in all three languages of the site.
The automation layer keeps the site running without manual intervention, with updates, backups and health monitoring on a production server.
Artificial intelligence is used where it genuinely adds value: a personalised recommendation engine, more flexible interpretation of search queries, and a personality quiz that gives people a starting point without requiring them to already know the technical vocabulary of the hobby.
What was delivered
-
Structured data
Cleaned, classified the way people really search for a game, enriched in three languages.
-
Recommendations
A mix of similarity, popularity and fit with player count, complexity and language.
-
A site that runs itself
Automatic updates, backups and health monitoring in production.
The result
A public website with search, filters, detailed game pages, personalised recommendations, a tool for comparing two games and a personality quiz. Full support in French, Dutch and English for search, recommendations and content, not just labels. An internal dashboard that tracks real usage and errors: with little traffic so far, it mostly helps to catch problems early. A production deployment that runs unattended, with automatic updates, backups and health monitoring.
What the project made possible
-
A complete public site
Search, filters, game pages, recommendations, comparison and a personality quiz.
-
Three languages
French, Dutch and English, for the content and not just the labels.
-
Problems caught early
An internal dashboard tracks usage and errors. With little traffic so far, it mostly shows what is broken.
Behind the scenes
I wrote down how the project was built, mistakes included, in ten articles on Medium. The lessons that also apply to a client project are in this article.
-
Part 01
I broke my own dataset
Cleaning a public export of 125,000 rows, and the damage I added to it myself.
-
Part 02
5,295 families and no themes
Why I built my own classification on top of the source labels.
-
Part 03
A 300 MB database that needed 2 GB to build
PostgreSQL, migrations and updating the catalogue without losing visitor data.
-
Part 04
A "collaborative" model with no users
Three recommendation models, a hybrid, and a bug the tests could not see.
-
Part 05
A game or an idea? Building search in three languages
Building search in three languages, and working out what the visitor means.
-
Part 06
A full web app without JavaScript
An API and an interface in Python only, and what made pages slow.
-
Part 07
My analytics counted 259,000 sessions in a month. About 140 were people.
My own statistics and admin tools, and learning how to read the figures.
-
Part 08
550,000 crawler visits and almost no impressions
Making the site visible to search engines and AI assistants.
-
Part 09
One server, 7 euros a month
Hosting, deployment and the operations that do not fit in a pipeline.
-
Part 10
From debugger to project partner
What an AI coding assistant did, where I pushed back, and what stayed my job.
Key takeaways
LudoExplorer is small enough to explain on a single page, yet it touches every layer of my work.
-
Filter the data against the need
About 125,000 entries in the source, about 90,000 kept in the catalogue.
-
Ask instead of guessing
Search has two modes, by name or by idea, because no rule could tell them apart reliably.
-
Count people, not page loads
259,106 sessions in four weeks, 136 of them with a real action.
-
Measure before believing
A convincing fix would have rewritten 5,441 correct search keys. I checked first.
Is one of your processes eating up your time? The Process Scan gives you a first reading in 5 minutes, free. Take the Process Scan →
Data, AI, automation and user experience can come together without losing sight of the original problem
If your project combines several of these areas, I can help connect the business need, the data and the practical solution.

