Recommending Fashion with Graph Neural Networks: Theory Meets Practice A developer's tutorial demonstrates how to build a fashion recommendation system using a bipartite customer–article graph, a two-layer GATv2, and a dot product, turning purchase history into a top-12 recommendation list, with code from a repository that implements it end to end from raw CSVs to a FastAPI backend. The approach, based on Stanford CS224W lectures, addresses the scalability problem of scoring all user–item pairs by using graph neural networks to propagate information along edges. Member-only story Recommending Fashion with Graph Neural Networks: Theory Meets Practice How a bipartite customer–article graph, a two-layer GATv2, and a dot product turn purchase history into a top-12 recommendation list — from the Stanford CS224W slide deck to a working FastAPI backend. Fashion Recsys GNN · H&M Personalized Fashion Recommendations dataset Every recommender system eventually runs into the same wall: you cannot score every user against every item. If you have a million customers and a hundred thousand articles, that is a hundred billion scores. Graph Neural Networks offer a way out — instead of hand-engineering user and item vectors, you let the graph itself tell you what a customer and an article “mean,” by propagating information along the edges that connect them. This post walks through the theory behind that idea and then shows the exact code in this repository that implements it end to end, from raw CSVs to a served recommendation. 1. Recommendation as a graph problem The standard framing borrowed here from Jure Leskovec’s CS224W lectures starts by refusing to think of “customers” and “articles” as two separate tables joined by a foreign key. Instead, model them as a bipartite graph : two node types, user and item , and edges that represent interactions — a click, a review, a purchase. Each edge can carry a timestamp, since interactions happen at a specific moment.