Launched this week
Dub Ninja
Live autonomous AI DJ that digs, mixes & explains 24/7
108 followers
Live autonomous AI DJ that digs, mixes & explains 24/7
108 followers
An autonomous AI DJ. No schedule, no playlists — just the next correct record, chosen live and explained in real time. Underground electronic, always on.

















Dub Ninja
@nikitacano thats pretty cool!
Quick ones:
- rewriting "the ninja reasons" is something I felt annoyed by during reading
- "Listen Live" upper right could have an animation that something is actually playing (took me 10 mins on the website to see the footer and the live playing indication)
- sing in with google did not work
Questions: "reading the room" how does that work? (What is the room?) [may sign in needed for that]
Dub Ninja
@daniellebe thank you thank you!
all great feedback, the typing of the text is there to make it more dynamic and real-time, but i will see what can be done to improve UX without taking an engaging part of it away.
"the room" is everyone who is listening to Ninja right now; the selector receives listener's city / town, calculates current time and weather there, and then takes this into consideration when picking the next track.
what was the error when you tried signing in via google?
Dub Ninja
@daniellebe the OAuth error is fixed (and the constant typing too) ;)
@nikitacano you are most welcome! "the room" got it, smart setup :)
Google Sign in worked, constant typing also combines not best of both worlds.
Spotify's own DJ feature already does most of this inside the app most people use for music. What's the hook for switching to a standalone tool? The "explains" angle could be a real differentiator if it's teaching crate-digging context, producer history, or label genealogy - but if it's just describing genre vibes, that's what Spotify already does. Also - is this Spotify-only? The underground electronic catalog people actually care about is spread across Bandcamp, SoundCloud, and Mixcloud where the obscure stuff lives. If it's only pulling from Spotify's library the "underground" positioning feels like a stretch.
Dub Ninja
@galdayan you're on the right track: voiceovers and reasoning from AI DJ go deeper into explaining the scene, artists, labels, genres and the story behind them; there is a lot of music on Ninja from niche labels that is nowhere near Spotify, and "the room" is not trapped into your taste profile and is not incentivised by what's viral or charting in mainstream top 100s, so this is a genuine tool for music discovery and crate diggers — i'm a DJ, sound producer, record label owner and music journalist and Ninja keeps introducing me to things i've never heard before. ;)
Love how niche and fun this is — building anything real-time with AI (audio or image) means fighting latency constantly. How are you handling that trade-off between generation speed and mix quality on the fly?
Dub Ninja
@martin_mo yay, thanks a mil! there are a few things in place to guarantee high quality of the experience:
1) there is a buffer between the actual HLS stream and what Ninja is generating, it is about 3-5 minutes to account for anything unexpected;
2) the most CPU expensive operation is actually the time-stretched and beat-matched transition between two tracks, so i optimise for this and send the rest of the track as-is to the buffer to speed things up;
3) there is a sensible timeout on calls to LLM and a few guardrails + fallbacks that make sure that if there is no AI capacity to process next track selection, reasoning, voiceover generation or any other real-time operation, there is a graceful fallback to the next best thing that can be done without LLM.
@nikitacano This is exactly the kind of architecture I find fascinating — the 3-5 min buffer as a safety margin is smart, and prioritizing optimization on the most expensive operation (the transition) while letting the rest ride through unprocessed is a great way to spend compute where it actually matters. The graceful fallback piece resonates a lot with me too — I deal with a similar problem on the image generation side: when there's a queue or timeout, you need a sensible default rather than just failing the request outright. Out of curiosity, when the fallback kicks in for track selection, is it falling back to something rule-based, or a simpler/faster model rather than no AI at all?
Dub Ninja
@martin_mo LLM selector is working out what’s the best next track based on vibes in “the room”, but it does receive already pre-ranked list of best next tracks based on proximity in key, tempo, mood, energy and so on, so when AI endpoint is timing out or unavailable, Ninja just selects the most compatible next track. ;)
@nikitacano oh that's clever, so the LLM is more like a tiebreaker on top of an already solid ranking, not picking blind. makes the fallback way less scary too since you're not really losing much, just losing the "vibe reading" layer on top of stuff that's already compatible. how'd you land on which signals to rank by btw, key/tempo/mood/energy — trial and error or more from DJ theory you already knew?
nice how did you come up with the idea? Are you a DJ?
Dub Ninja
@marc_vuit glad you've asked! yes, i've been DJing and producing music for 15+ years on top of doing music journalism, owning a pocket record label and hosting internet radios, so this project is in this weird intersection between creative and technical spectrums of my interests :)
@nikitacano Great keep going :)
Very cool idea. Any chance you could expand this beyond the niche genres here (although I do love a bit of house/techno).
Dub Ninja
@zinggit what kind of music would you like to discover? personal rooms / streams are on my to-do list for sure ;)
Had this on in the background all afternoon. It picking the next record on its own and then telling you why it chose it is weirdly fun to follow. Nice work, Nikita.
Dub Ninja
@matthieu_poitrimolt so glad to hear that, thank you very much! i'm using Ninja for music discovery myself, and i really want people to be able to just have it on background as well as do full-on active listening and go down the rabbit hole of all the ways different tracks, artists, labels and genres connect together. ;)
Lovin' that the DJ actually explains its mixes, not just spins tracks back to back. That "why this song next" layer is such a clever hook for keeping people listening.
Dub Ninja
@yibo_wang3 thank you thank you, hope Ninja is introducing you to great new music ;)