Automated techno track analysis and playlist visualization.
Built with Next.js, Tailwind CSS, and deployed via Vercel.
- 🎵 Analyze raw track data (title, artist, BPM, key, genre)
- 🧠 Auto-fill missing BPM/key values with smart defaults
- 📊 Render tracks as cards or sortable tables
- 📥 Import Beatport-style JSON data
- 🔌 API route for external track analysis (
/api/analyze) - ⚡️ Instant deployment with Vercel
- Next.js (App Router, TypeScript)
- Tailwind CSS
- Vercel (CI/CD + Hosting)
src/ ├── app/ │ ├── page.tsx # Main UI │ └── api/analyze/route.ts # API endpoint ├── components/ │ ├── TrackCard.tsx │ └── TrackTable.tsx ├── lib/ │ ├── trackAnalyzer.ts │ └── beatportParser.ts
npm install
npm run devPush to main → auto-deployed via Vercel.
Custom config: vercel.json
// 📦 Example Import import { parseBeatportData } from "@/lib/beatportParser";
const raw = [ { name: "Hypnotic Pulse", artist: "Rødhåd", bpm: 129, key: "2A" }, { name: "Parallel Shift", artist: "Antigone" } ];
const tracks = parseBeatportData(raw);
🧠 Author Built by @Sulaiman-khalil For techno heads, data nerds, and playlist perfectionists.