Skip to content

Latest commit

 

History

3 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

इंतज़ार | Radio Platform 2

"The night is quiet, the train is delayed, but the music never stops."

📻 Listen Live: intezar.iambhvsh.in

इंतज़ार (Intezar) is a nostalgic, atmospheric online radio broadcasting curated Hindi Bollywood and Indie music. Designed to evoke the lofi aesthetics of waiting at a lonely railway station on "Platform 2" late at night, this application provides an uninterrupted, continuous musical escape straight from your browser.

Turn the dial, press play, and let the analog warmth find you.

✨ Features

  • Endless Analog Radio: Built on top of the YouTube IFrame API to play an endless, truly shuffled playlist of vintage and modern curated Hindi music. You never know what track plays next.
  • Atmospheric UI: Features a beautiful glassmorphism interface overlaying a high-quality, dynamically switching background. It feels less like a website and more like a window into a quiet, rainy night.
  • LED Departure Board: A fully animated, randomly generated railway station LED board that dynamically cycles through Indian cities, platforms, and real-time clock data to anchor you in the station ambiance.
  • PWA Ready: Install the radio directly to your home screen. Includes a bespoke Service Worker for offline resilience and asset caching—it runs like a native app.
  • Zero-Zoom Mobile Optimization: Heavily optimized for mobile devices with safe-area anchoring, preventing accidental zooms or text-selection to maintain the immersive illusion.
  • Bandwidth Conscious: Automatically forces the underlying YouTube stream to the lowest possible video quality (small), acting as a true audio-first radio that preserves your data cap.

🛠️ Technology Stack

  • Core: HTML5, Vanilla JavaScript (ES6+), Vanilla CSS (Custom properties, Flexbox/Grid, Animations)
  • Tooling: Vite for lightning-fast development and optimized production builds.
  • API: YouTube IFrame Player API.

📂 Project Structure

├── public/                 # Static assets served at the root
│   ├── assets/             # Highly optimized imagery and vintage PWA icons
│   ├── favicon.ico         # Standard favicon
│   ├── manifest.json       # PWA manifest
│   └── sw.js               # Service Worker for offline caching
├── src/                    # Application source code
│   ├── main.js             # Core radio logic, YouTube API handling, and LED board
│   └── style.css           # Global stylesheet and UI animations
├── index.html              # Entry point
├── package.json            # Project dependencies and scripts
└── vite.config.js          # Vite configuration

🚀 Tuning In (Getting Started)

Prerequisites

You will need Node.js installed, along with a package manager like pnpm (which this project uses), npm, or yarn.

Installation

  1. Clone the repository to your local machine:

    git clone https://github.com/iambhvsh/intezar.git
    cd intezar
  2. Install dependencies:

    pnpm install
  3. Power on the receiver (Start development server):

    pnpm run dev
  4. Build for production:

    pnpm run build

    The optimized, production-ready broadcast files will be output to the dist/ directory.

🎵 The Frequency

The radio currently streams from a curated, hand-picked YouTube playlist. You can access the direct playlist via the "Playlist" chip in the top right corner of the application to view the tracks currently in rotation.


Created with nostalgia by Bhavesh Patil • Inspired by Saloon.wtf

About

The night is quiet, the train is delayed, but the music never stops.

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages