FWMFL - Football Was My First Love
Olympia Verlag (Kicker)
Olympia Verlag is the publisher of Kicker, Germany's leading sports magazine. FWMFL (Football Was My First Love) is their podcast and audiobook streaming platform for football fans, offering exclusive content including podcasts, audiobooks, fan chants, and curated playlists from the football world.
Project Overview
As lead fullstack developer through piparo.tech, I've contributed 1,600+ commits across the entire platform - from the React Native mobile app to backend services in Go and Rust, the Astro-based website, and Kubernetes infrastructure. The project involves building and maintaining a complete streaming platform with subscription management, offline playback, and content synchronization.
Legacy Migration
When we took over the project, the infrastructure consisted of multiple PHP backends with two separate databases, running legacy non-framework code scattered across different hosting providers. We modernized the entire stack by rewriting the backend services in Go and Rust, consolidated the databases, and migrated all services to AWS using EKS (Elastic Kubernetes Service). This migration improved reliability, reduced operational costs, and enabled proper CI/CD pipelines with infrastructure as code.
The previous mobile application was built with Cordova. We ported it to React Native within 3 months, delivering a fully native experience with significantly improved performance, offline capabilities, and access to native APIs for background audio playback and push notifications.
Key Contributions
Mobile Application
Built and maintained the React Native + Expo mobile app with 890+ commits. Implemented audio streaming with background playback, offline downloads, subscription management via RevenueCat, and push notifications. The app uses NativeWind for styling and supports both iOS and Android with the new architecture enabled.
Audio Player & Streaming
Developed the core audio player functionality including queue management, playback progress tracking, and seamless track transitions. Implemented offline mode with SQLite for local storage, allowing users to download and play content without internet connectivity.
Subscription & Monetization
Integrated RevenueCat for in-app purchases and subscription management. Built the payment wall UI, supporter badge system, and premium content gating. Implemented Piano SDK for analytics tracking of user engagement and conversion metrics.
Backend Services
Developed backend services in Go and Rust for API endpoints, content management, and data processing. Built an RSS importer (both Node.js and Rust versions) for automatically ingesting podcast feeds. The backend handles episode metadata, audio file management, and user synchronization.
Website
Built the marketing website using Astro with Tailwind CSS. Implemented SEO optimizations, sitemap generation, podcast and audiobook detail pages, and the FAQ section. The site is statically generated for optimal performance.
Infrastructure
Set up and maintained Kubernetes infrastructure using Helm charts and Terraform. Configured deployments, services, and ingress for multiple environments. Implemented local development tooling with Tilt and Skaffold for rapid iteration.
Accessibility
Improved app accessibility with proper labels, hints, and screen reader support across key user flows including authentication, playback controls, and navigation. Ensured WCAG compliance for the web platform.
Error Tracking & Debugging
Integrated comprehensive error tracking with Sentry, including session replay and custom error boundaries. Built debug screens for troubleshooting playback issues, viewing logs, and testing error reporting in development builds.
Technology Stack
Mobile
- React Native 0.79
- Expo 53
- TypeScript
- NativeWind
- Zustand
- React Query
Backend
- Go
- Rust
- MySQL
- SQLite (mobile)
- Laravel (legacy)
Web
- Astro
- Tailwind CSS
- TypeScript
Infrastructure
- Kubernetes
- Helm
- Terraform
- Docker
- Tilt / Skaffold