The #1 Tool to Detect AI-Generated Music Online
AI Music Detector is a production-ready web application that identifies AI-generated music in your Spotify, Tidal, Apple Music, and YouTube Music libraries. Authorize your streaming accounts, analyze your liked songs, and instantly discover which tracks are AI-generated with detailed confidence scores.
- Multi-Platform Support: Connect Spotify, Tidal, Apple Music, and YouTube Music
- Multi-Provider AI Detection: Uses 3+ detection APIs with intelligent fallback (Suno, Essentia, MusicCaps)
- Smart Fallback: Automatically switches to next provider if one fails or hits rate limit
- Consensus Scoring: Combines results from multiple providers for higher accuracy
- Batch Processing: Analyze 2000+ songs efficiently with 50-song batches and smart rate limiting
- Real-Time Animations: π Fireworks, π confetti, β¨ bucket sorting, π« progress animations
- Privacy First: End-to-end encrypted, OAuth-only authentication
- Beautiful UI: Modern, responsive design with stunning animations for desktop and mobile
- Production Ready: Enterprise-grade security, error handling, and logging
- Monetization: Built-in advertising support (Google AdSense)
- Analytics Dashboard: Admin panel with system stats, provider monitoring, and detection metrics
- Results Caching: MongoDB storage + 24-hour in-memory cache for fast result retrieval
- Express server with middleware for security (Helmet, CORS, Rate Limiting)
- MongoDB for user data and analysis results
- Passport.js for OAuth authentication
- JWT for secure session management
- Winston for logging
- React Router for navigation
- Zustand for state management
- Axios for API calls
- Tailwind CSS for styling
- Lucide Icons for UI elements
- Vite for fast build and development
ai-music-checker/
βββ server/
β βββ src/
β β βββ controllers/ # Request handlers
β β βββ services/ # Business logic
β β βββ models/ # MongoDB schemas
β β βββ routes/ # API endpoints
β β βββ middleware/ # Auth, error handling
β β βββ config/ # Passport, database
β β βββ utils/ # Logger, helpers
β βββ package.json
β βββ tsconfig.json
β βββ .env.example
β
βββ client/
β βββ src/
β β βββ components/ # Reusable UI components
β β βββ pages/ # Page components
β β βββ services/ # API integration
β β βββ context/ # Auth context
β β βββ styles/ # Global CSS
β β βββ App.tsx
β β βββ main.tsx
β βββ index.html
β βββ vite.config.ts
β βββ package.json
β βββ tsconfig.json
β
βββ docker-compose.yml # MongoDB setup
βββ README.md
- Node.js 18+
- MongoDB
- Spotify, Apple Music, Tidal, YouTube Music API credentials
-
Navigate to server directory
cd server -
Install dependencies
npm install
-
Configure environment variables
cp .env.example .env
Fill in your API keys and database URL
-
Start development server
npm run dev
Server runs on
http://localhost:5000
-
Navigate to client directory
cd client -
Install dependencies
npm install
-
Start development server
npm run dev
Frontend runs on
http://localhost:3000
- User clicks "Connect [Platform]" button
- OAuth flow redirects to streaming service
- User grants permission to access liked songs
- Token stored securely in MongoDB
- JWT token generated for frontend session
- User can analyze songs and view results
- Banner ads on homepage and dashboard
- Sidebar ads on results page
- Placement in footer
- Unlimited song analysis
- Export results as PDF/CSV
- Playlist-level analysis
- Historical trends and insights
- Spotify for Artists integration
- Label partnerships for music metadata
- Licensing data to music industry
- B2B offering for music platforms
- Custom branding options
- API access for integrations
GET /api/auth/spotify- Spotify OAuthGET /api/auth/spotify/callback- OAuth callbackPOST /api/auth/logout- LogoutGET /api/auth/me- Get current user
POST /api/music/check-liked-songs- Analyze liked songsPOST /api/music/analyze- Analyze single track
GET /api/user/profile- Get user profilePUT /api/user/preferences- Update preferencesGET /api/user/analysis-history- Get history
GET /api/admin/analytics- System analyticsGET /api/admin/system-stats- System statistics
- HTTPS Only in production
- CORS configured for origin validation
- Helmet for HTTP headers security
- Rate Limiting to prevent abuse
- JWT tokens with expiration
- Password hashing with bcrypt (ready for email auth)
- Input validation with Joi
- Secure session cookies
Currently using mock AI detection. To integrate a real API:
- Sign up for service (e.g., Suno API, MusicCaps)
- Update
AI_DETECTION_API_URLandAI_DETECTION_API_KEYin.env - Modify
server/src/services/aiDetectionService.ts:
const response = await axios.post(
`${process.env.AI_DETECTION_API_URL}/analyze`,
{ trackName, artistName },
{ headers: { Authorization: `Bearer ${process.env.AI_DETECTION_API_KEY}` } }
);- Mobile-first approach with Tailwind CSS
- Touch-friendly buttons and navigation
- Optimized for all screen sizes
- Performance optimized with Vite
# Backend tests
cd server
npm test
# Frontend tests
cd client
npm testdocker-compose upBackend:
cd server
npm run build
npm startFrontend:
cd client
npm run build
# Serve dist folder with static hostingUpdate .env with production values:
MONGODB_URI=mongodb+srv://prod-user:pass@prod-cluster.mongodb.net/ai-music-checker
JWT_SECRET=long-random-production-secret
NODE_ENV=production
CLIENT_URL=https://yourdomain.com
| Layer | Technology |
|---|---|
| Frontend | React 18, TypeScript, Tailwind CSS, Vite |
| Backend | Node.js, Express, TypeScript |
| Database | MongoDB with Mongoose |
| Auth | OAuth 2.0, JWT, Passport.js |
| Styling | Tailwind CSS, Lucide Icons |
| HTTP Client | Axios |
| State Management | Zustand |
| Logging | Winston |
| Security | Helmet, bcryptjs, Joi |
MIT License - feel free to use this project for commercial purposes.
Contributions welcome! Please open an issue or submit a PR.
For questions or issues, create a GitHub issue or contact support@aimusicchecker.com
Built with β€οΈ for music lovers