Pulse Radio

Moderne Next.js Radio-Webanwendung

Kunde

Aufgabe im Team ( Pers.)

Full-Stack Design Engineer

Pulse Radio App Coverbild

Projektbeschreibung

Pulse Radio ist eine Web-Anwendung für Online-Radio-Streaming mit tausenden Radiosendern weltweit. Die App nutzt eine externe Radio-API und bietet eine strukturierte Oberfläche für das Durchsuchen und Abspielen von Radiosendern. Mit Suchfunktion, optimierter Performance und responsivem Design ermöglicht sie Radio-Streaming auf verschiedenen Geräten.

Kontext

Das Projekt entstand zur praktischen Vertiefung von API-Integration und Next.js-Entwicklung. Eine öffentliche Radio-Stationen-API bot die Möglichkeit, eine Webradio-Webapp zu entwickeln, die diese Daten für Nutzer strukturiert zugänglich macht. Das Projekt kombinierte moderne Web-Technologien mit Audio-Streaming-Funktionalität.

Meine Aufgaben

Als Full-Stack Design Engineer wurden alle Aspekte des Projekts eigenverantwortlich entwickelt:

  • Architektur: Next.js App Router mit Server-Side Rendering und strukturierter API-Route-Architektur
  • API-Integration: Externe Radio-API-Anbindung mit Caching-Strategien und Rate Limiting (10 Requests/Minute)
  • Media Player: Audio-Player mit HLS-Stream-Unterstützung und automatischem Volume-Fade-in
  • Frontend: UI/UX-Design mit Next.js 15, React 19, TypeScript und Tailwind CSS
  • State Management: Custom Hook-System für Player-Logik und Suchhistorie mit LocalStorage
  • Theme-System: Dark/Light-Mode-Integration mit next-themes und SSR-Kompatibilität

Praktisch jedes sichtbare Element — Formen, Farben, Größen, Abstände, Gruppierung, Anordnung, visuelle Hierarchien, Sprache, Tonalität, Animationen — wurde eigenständig entwickelt oder angepasst.

Arbeitsprozess

Nach der initialen Recherche zu Radio-Apps wurden die MVP-Features definiert. Die Entwicklung erfolgte iterativ: zunächst die API-Integration, dann das Audio-Player-System mit HLS-Unterstützung, die Suchfunktionalität und abschließend die UI-Details mit Dark-Mode und responsivem Design. Durch kontinuierliches Refactoring wurde der MVP-Standard erreicht.

Herausforderungen

  • Dual Audio Player System: Implementation von normalen Audio-Streams und HLS-Streams mit automatischer Erkennung und Fallback-Mechanismen
  • Performance-Optimierung: Verschiedene Caching-Strategien (1 Stunde für Suche, 1 Tag für Sender, 7 Tage für Details) bei gleichzeitigem Rate Limiting
  • Cross-Browser Audio: HLS.js-Integration mit nativer Safari-Unterstützung und fehlerresistente Audio-Wiedergabe
  • API-Route-Design: Strukturierung der Next.js API Routes für optimierte Performance mit Zod-Validation und Error-Handling

Techstack

Frontend: Next.js 15, React 19, TypeScript, Tailwind CSS

Audio: HLS.js, Custom Player Hooks, Volume-Fade-System

API: Next.js API Routes, Zod Validation, Rate Limiting (limiter)

State Management: React Context API, Custom Hooks, LocalStorage

UI: Shadcn UI, Lucide Icons, next-themes, Sonner Toasts

Deployment: Vercel, Docker, Environment Variables

Projektergebnis

Pulse Radio bietet eine strukturierte Plattform mit Zugang zu über 23.000 Sendern weltweit. Die App demonstriert moderne Full-Stack-Entwicklung mit Next.js und zeigt die Integration externer APIs in eine funktionale Webanwendung. Das Projekt diente als praktisches Lernfeld für API-Integration, Audio-Streaming und moderne React-Entwicklung.