Generate beautiful, festival-style posters based on your Spotify listening history. Turn your music taste into a personalized festival lineup where your top artists are the headliners!
- 🎨 Festival-style poster generation
- 🎵 Integration with Spotify API
- 👤 Personal listening statistics
- 🔄 Real-time data updates
- 📱 Responsive design
- 💫 Beautiful animations
- 📥 Download posters as images
- 📲 Easy social media sharing
- Next.js 14
- TypeScript
- Tailwind CSS
- Spotify Web API
- Lucide Icons
- HTML2Canvas
- Clone the repository:
git clone https://github.com/dionarya23/beatprint.git
cd beatprint
- Install dependencies:
npm install
- Create a
.env.local
file in the root directory with your Spotify API credentials:
NEXT_PUBLIC_SPOTIFY_CLIENT_ID=your_spotify_client_id
NEXT_PUBLIC_REDIRECT_URI=http://localhost:3000
- Start the development server:
npm run dev
- Go to Spotify Developer Dashboard
- Create a new application
- Add
http://localhost:3000
to Redirect URIs - Copy your Client ID to the
.env.local
file
beatprint/
├── src/
│ ├── app/
│ │ ├── page.tsx
│ │ ├── layout.tsx
│ │ ├── globals.css
│ │ └── dashboard/
│ │ └── page.tsx
│ ├── components/
│ │ └── FestivalPoster.tsx
│ └── lib/
│ ├── spotify.ts
│ └── utils.ts
├── public/
├── package.json
└── README.md
The main poster component that displays your music data in a festival lineup style.
Handles authentication and data fetching from Spotify API.
Manages API calls and data processing for your Spotify statistics.
- Spotify OAuth 2.0 integration
- Secure token handling
- Automatic token refresh
- Festival-style layout
- Dynamic headliner sizing
- Genre categorization
- Special performances section
- Interactive elements
- High-quality image download
- Social media sharing
- Link copying
Deploy to Vercel:
vercel
Remember to add your environment variables to your deployment platform.
- Visit the website
- Connect your Spotify account
- Wait for your data to load
- Download or share your generated poster
- Enjoy your personalized festival lineup!
Building for production:
npm run build
- Spotify Web API
- Next.js Team
- Tailwind CSS Team
- All Contributors
Dion Pamungkas
- GitHub: @dionarya23
Made with ❤️ by Dion Pamungkas