Structure out of 7.86M messy fields
A deterministic pipeline that normalized 7.86M unstructured German catalog fields into a fixed taxonomy in about five minutes at zero API cost, then a core-demand predictor that topped the leaderboard on the cleaned data.
- Result
- 1st + €500 (feature normalization) · 1st on the leaderboard (core demand)
- Prize
- 500 EUR
- Built with
- Luis Dehlwes, Mark Mandzak, Pouya Shekarchizadeh, Yelyzaveta (Lisa)
- Stack
- Python · Deterministic extraction · Pandas · Embeddings

My first hackathon. I walked in with no idea what to expect, and walked out having won my first challenge and met two people I still think about.
We worked out pretty quickly that we were too big. Six of us had shown up, all wanting to build, and it took about an hour to notice that six people around one problem is mostly people waiting for a turn to type. So we split into two teams of three. My three became UNI TED, and that is where I met Luis and Yelyzaveta (Lisa).
The problem was a mess, on purpose
The challenge was real procurement data, which is a polite way of saying thousands of suppliers describing the same physical objects with none of the same words, units, or schemas. An "M8 bolt" and a "bolt, M8" are the same thing, and the data had no idea. There were 7.86 million of these fields, most of them German catalog text, and before anyone could forecast a single thing, the data had to agree with itself.
The instinct at a data mining hackathon, with OpenAI sponsoring, is to throw an LLM at it, and plenty of teams did. We went the other way. We treated the normalization as the actual product, not the boring bit you rush through to get to the fun part.
So we built a deterministic pipeline. It took those 7.86 million messy fields and collapsed them into one fixed taxonomy, the same object landing in the same place no matter how each supplier had spelled it. It ran in about five minutes, cost nothing in API calls, and beat the teams that were paying to query a model for every single row. That is the part I am still quietly proud of. The cheap, boring, correct approach won.
The brownies
Somewhere in the middle of all this I made a run to get brownies for the team. Six of us, technically two teams by then, but still six people who needed a sugar hit to keep going. There is a photo of me carrying them back with my arms full, and it might honestly be my favorite one from the whole weekend. Not the trophy. The brownies.

Then the forecast almost fell out
With a clean feature space, the second challenge got a lot easier. A demand predictor is not wasting its capacity relearning that "M8 bolt" and "bolt, M8" are the same thing when the data already knows. We built the core-demand model on top of the normalized data, and it topped the leaderboard. Do the boring part right and the interesting part mostly takes care of itself.
We won the first challenge outright: 500 EUR, feature normalization. My first challenge at my first hackathon, and we took it.

Being asked about it, on camera
At some point Luis and I got pulled aside to be interviewed about what we had built. Explaining your weekend hack to a camera while running on caffeine and no sleep is a strange feeling, but I loved it. It was the first time I got to say the whole approach out loud to someone outside the team and watch it land.

UNI TED was Luis Dehlwes, Mark Mandzak, Pouya Shekarchizadeh, Lisa, and me. Thanks to TUM.ai, Unite, the mentors and organizers, and OpenAI for the weekend.
I loved every part of it. The team that was too big and had to split, the deterministic pipeline that beat the LLMs, the brownie run, meeting Luis and Lisa, the walk up to collect the first thing I ever won. It was fun in a way you cannot really plan for. I still think about that weekend a lot, and in a real sense every hackathon I have done since started right here.
Cheers.