All posts Looking back, written a few days after the final in Frankfurt. Project · Bundesliga fan app · interactive demo below

Bundesliga Hackathon: three days, 71 commits, one of the winning teams

Building a chatbot app for the Bundesliga with Hasso's Kickers at the first Bundesliga Hackathon by DFL, AWS and EintrachtTech.

On Friday the final took place at the EintrachtLab in Frankfurt’s Deutsche Bank Park. Hasso’s Kickers, that’s Sebastian, Robert and me, is one of six winning teams of the first Bundesliga Hackathon. The prize isn’t money. It’s a trip to an Eintracht Frankfurt home game.

Some context. The German Football League (DFL), AWS and EintrachtTech ran this for the first time. More than 330 people joined the virtual kick-off on February 24, 42 teams registered, 15 made the final. There were five challenges. We took the chatbot one: UX and UI for an AI chat inside the Bundesliga app.

I picked the challenge and set up both repos. Stack decision: Expo and React Native with expo-router, so one codebase runs on web, iOS and Android. A web prototype ran on the side from late February. The real build was March 18 to 20, 71 commits in three days.

What ended up in the app: tabs for matches, videos, the table and stats, plus the AI chat against an AWS backend, answers with markdown and media, a 20-question quiz mode that reads the questions out loud, and a bar with suggested prompts. My part besides the setup was the share service, which picks the Web Share API, the clipboard or the native share sheet depending on the platform, the bot message UI with icons and a loading animation, and merging everyone’s branches. Backend and chat logic came from the other two.

On the side I tried a German offline speech model for voice input and some gesture tracking. Neither made it into the product.

The demo on this page shows how the app works. It runs on sample data and the AWS backend is switched off, so the chat answers are samples. Tab bar at the bottom, and in the AI chat tab a bar with suggestions for common questions. A question goes through the AWS API Gateway to the chat backend, the answer comes back as a chat bubble with markdown and media, and the loading animation runs while the backend works. In quiz mode the app reads every question out loud. And if you want to share an answer, you get the right share menu for your device, with the clipboard as a fallback on desktop.

FAQs

Demo with sample data
Interactive demo The fan app, rebuilt from the Expo code. The AWS backend is offline, so answers are sample answers. Tap an FAQ, type, or start the quiz.

Tools and skills: Expo and React Native with expo-router, TypeScript, one codebase for web, iOS and Android, AWS API Gateway as the interface to the chat backend, the Web Share API with fallbacks, text-to-speech, and Git with three people under time pressure.

The main thing I’m taking away: three people can build something you can actually show in three days if it’s clear early who does what, and what stays out.