My portfolio site built with Next.js 14 (App Router), Tailwind CSS, Framer Motion, and next-themes :))
- Next.js 14 with the App Router
- TypeScript
- Tailwind CSS
- Framer Motion
- next-themes for theming
- SWR for data fetching
- Static content via JSON data files in
data/ - Live Spotify integration via API routes
# Install dependencies
pnpm install
# Start dev server
pnpm dev
# Build for production
pnpm build
# Start production server
pnpm startThe site includes a live "Now Playing" section that shows what I'm currently listening to on Spotify.
Create a .env.local file with your Spotify credentials:
SPOTIFY_CLIENT_ID=your_client_id
SPOTIFY_CLIENT_SECRET=your_client_secret
SPOTIFY_REFRESH_TOKEN=your_refresh_token- Create a Spotify app at https://developer.spotify.com/dashboard
- Get your Client ID and Client Secret
- Use the authorization flow to get a refresh token
- Add these to your
.env.localfile
- Push your code to GitHub
- Import the repository in Vercel
- Add environment variables in Project Settings → Environment Variables:
SPOTIFY_CLIENT_IDSPOTIFY_CLIENT_SECRETSPOTIFY_REFRESH_TOKEN
- Deploy!
The site will automatically build and deploy. The API route at /api/spotify/now-playing will provide live Spotify data.