A futuristic, cyberpunk-themed internet radio streaming application that lets you discover and listen to thousands of radio stations from across the world.

- 🎵 Stream thousands of radio stations - Access a vast collection of radio stations across various genres
- 🎨 Cyberpunk UI - Immersive neon-lit interface with glitch effects and animations
- 📱 Responsive Design - Works seamlessly on desktop, tablet, and mobile devices
- 🔍 Smart Search - Quickly find stations by name or tags
- 🎭 Genre Browser - Explore stations organized by musical genres
- 🌐 Offline Detection - Graceful handling of network connectivity issues
- 🎮 Smooth Animations - Material Design-inspired interactions with cyberpunk flair
- Frontend: Vanilla JavaScript, HTML5, CSS3
- API: Radio Browser API
- Fonts: Google Fonts (Rajdhani, Share Tech Mono)
- Icons: Font Awesome 5
-
Clone the repository
git clone https://github.com/yourusername/cyberpunk-radio.git cd cyberpunk-radio -
Open in a web browser
Simply open
index.htmlin your web browser, or use a local server:# Using Python python -m http.server 8000 # Using Node.js npx serve
-
Access the app
Navigate to
http://localhost:8000in your browser
- Start Listening - Click "Start Listening" on the landing page
- Choose a Genre - Select from popular genres like Rock, Pop, Jazz, etc.
- Select a Station - Browse and click on any station to start streaming
- Control Playback - Use the player bar at the bottom to pause/resume
- Search Stations - Use the search bar to find specific stations
cyberpunk-radio/
├── index.html # Main HTML file
├── styles.css # Cyberpunk-themed styles
├── radio.js # Core application logic
└── README.md # This file
- Neon Color Scheme: Cyan (#00f0ff), Pink (#fd3777), and Yellow (#fcee09) accents
- Glitch Effects: Title animations and view transitions
- Glassmorphism: Translucent surfaces with backdrop blur
- Grid Overlay: Subtle background grid for that retro-futuristic feel
- Animated Elements: Loading spinners, equalizer bars, and floating buttons
The app uses the Radio Browser API with automatic server selection. Key configuration options in radio.js:
const API_USER_AGENT = 'USRadioBrowser/1.0';
const MIN_STATIONS_PER_GENRE = 5;
const APP_VERSION = '1.0.0';The app is fully responsive and includes:
- Touch-optimized controls
- Safe area padding for notched devices
- Cordova/PhoneGap compatibility for native app deployment
- Hardware back button support (in Cordova builds)
- Some radio stations may be temporarily offline
- Certain streams might not be compatible with all browsers
- Search is case-sensitive for genre filtering
- Radio Browser API for providing the radio station data