PixelPulse is a visually striking, modern music player web application with a vibrant 'afro-Present' aesthetic. It combines earthy tones with energetic highlights to create a unique and immersive listening experience. The application's core is a single-view interface featuring a playlist, standard playback controls, and a dynamic, canvas-based audio visualizer that reacts to the music in real-time.
- Vibrant Afro-Present Theme: A beautiful, modern interface inspired by afro-present aesthetics, combining earthy background tones with vibrant, energetic accent colors.
- Dynamic Audio Visualizer: A real-time, canvas-based visualizer that animates in sync with the currently playing audio.
- Full Playback Control: Standard music player controls including play/pause, next/previous track, a seekable progress bar, and volume adjustment.
- Interactive Playlist: A scrollable list of tracks where users can easily select and play any song.
- Immersive Single-Page Experience: The entire user interface is designed as a single, cohesive component for a focused user experience.
- Modern & Performant: Built with a modern tech stack for a fast, responsive, and smooth experience.
Customizing the playlist is simple. All the track information is stored in a single file.
- Open the project in your code editor.
- Navigate to the file:
src/lib/playlist.ts. - You will see an array of
Trackobjects. You can add, remove, or modify the objects in this array to change the playlist. Each track object has the following structure:
{
title: "Your Song Title",
artist: "Artist Name",
audioSrc: "URL to your audio file (e.g., .mp3)",
imageSrc: "URL to your album art (e.g., .png, .jpg)",
}Important: Ensure that your audio and image files are hosted somewhere accessible via a public URL and have the correct CORS (Cross-Origin Resource Sharing) headers to allow them to be loaded by the application.
- Framework: React (with Vite)
- Backend/Edge: Hono on Cloudflare Workers
- Styling: Tailwind CSS
- UI Components: shadcn/ui
- State Management: Zustand
- Icons: Lucide React
- Animation: Framer Motion
Follow these instructions to get a local copy of the project up and running for development and testing purposes.
Make sure you have Bun installed on your machine.
- Clone the repository to your local machine:
git clone <repository-url>
- Navigate into the project directory:
cd pixelpulse_music_player - Install the dependencies using Bun:
bun install
To start the local development server, run the following command:
bun run devThis will start the Vite development server, and you can view the application by navigating to http://localhost:3000 in your web browser. The server supports hot-reloading, so any changes you make to the source code will be reflected instantly.
To create a production-ready build of the application, run:
bun run buildThis command bundles the application and outputs the static assets to the dist directory, ready for deployment.
This project is configured for seamless deployment to Cloudflare Pages. To deploy the application, run the following command:
bun run deployThis will trigger the wrangler deploy command, which builds and deploys your application to the Cloudflare network. You may need to authenticate with your Cloudflare account if this is your first time using Wrangler.
Alternatively, you can deploy directly from your GitHub repository with a single click.