Skip to content

dmeldrum6/Terminal-Radio

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

15 Commits
 
 
 
 
 
 

Repository files navigation

GRID.FM — Terminal Radio

A cyberpunk-styled internet radio player built as a single HTML file. No build step, no dependencies, no frameworks — just vanilla HTML, CSS, and JavaScript.

Screenshot

image

Features

  • Browse & Search — search by station name or tag, filter by country, codec, and bitrate
  • Browse Modes — Top Stations, Most Voted, Recently Played, Recently Updated
  • Genre Tag Cloud — one-click browsing across 29 popular genre tags
  • Audio Visualizer — real-time frequency bar visualizer via the Web Audio API
  • Now Playing Panel — station art/favicon, rotating disc animation, play/stop/prev/next controls, volume slider with mute
  • Voting — vote for stations directly from the UI; votes are persisted in localStorage
  • Copy Stream URL — copies the resolved stream URL to the clipboard
  • Automatic API Failover — discovers live Radio Browser API nodes at startup and falls back to backup nodes on error
  • Responsive Layout — three-column desktop view collapses to a mobile layout with a bottom nav bar and floating mini-player
  • Retro Aesthetics — CRT scanlines, animated grid background, glitch effects, and neon glow — all pure CSS

Usage

Open index.html in any modern browser. No server required.

open index.html        # macOS
xdg-open index.html    # Linux
start index.html       # Windows

The app connects to the Radio Browser API on load, discovers the fastest available node, and immediately shows the top 100 stations.

Layout

Area Description
Header Logo, API connection status, live clock
Sidebar Search form, browse mode selector, genre tag cloud
Station List Scrollable list of stations with codec, bitrate, country, and vote count
Now Playing Visualizer, station art, playback controls, station metadata
Footer Active API node, currently playing station, status messages

Tech Stack

  • Vanilla JS — no frameworks or bundlers
  • Web Audio API — audio routing and frequency analysis for the visualizer
  • Radio Browser API — open, community-maintained database of internet radio stations
  • Google Fonts — Orbitron (display), Share Tech Mono (body)
  • CSS custom properties — full theme defined via --cyan, --green, --bg, etc.

Browser Support

Any modern browser that supports the Web Audio API (Chrome, Firefox, Edge, Safari 14+). CORS is handled by the Radio Browser API itself; no proxy needed.