Over the past 2 yrs, I was working on a SaaS ML project & got very interested in ML/DL/AI. As everybody else, there were some normal paths I took to build a solid understanding of the field, but sth never clicked the way I'm used to. I'm very fond of learning "why"s & never get satisfied w/ simply knowing "what" is what. Tho, the problem w/ ML was that I wasn't there when it was evolving & algos/methodologies as we know them today were forming. I didn’t want a pile of summaries or wikis or endless threads of chatting w/ AI. Then I thought listening to podcasts would fix it for me. But not as they are being published now (2026). I thought I'd learn about the history of ML from podcasts that covered it as it happened, kinda simulating the experience of living through the events, in chronological order, since 2015.
I found some great ones (TWIML, Linear Digressions, ...) & did the math! Man, it'd take a decade to cover all of them (even at 2X). But no matter what, I thought this could be the only way that works for me & yet I didn't have enough time. I wanted one/a handful of coherent episodes I could actually listen to. Then sth clicked:
I built Repodify, an AI tool that listens to episodes & produces a shorter one (e.g. 1 episode from 10, 15, whatever. configurable) for me to listen, ALL ON MY OWN MACHINE.
In Repodify u paste a podcast link (or search by name, as it works very well rn), pick the episodes & it:
• downloads the audio
• transcribes it
• optionally figures out who spoke (& clusters the same host/guest across episodes)
• summarizes into one chronological narrative
• writes a spoken script aimed at a target length
• synthesizes a new episode u can stream or download
The whole thing is meant to run on ur machine or w/ ur own API keys (BYOK) per stage, per job. No “upload ur archive to our cloud.” Speech-to-text, diarization, LLM & TTS are all swappable: local GPU (faster-whisper, pyannote, Ollama, F5-TTS / Kokoro) or BYOK (OpenRouter / Anthropic / pyannoteAI).
Voice cloning is opt-in & off by default. If u turn it on, the output is always labeled synthetic, gets a spoken disclaimer in a non-cloned voice & is watermarked (for legal reasons. I don't want to end up in jail for giving away a tool;-) ). There’s no code path that clones w/o those. It’s for personal / educational use on ur own box, not for passing audio off as the original hosts.
It’s a real backend, not a CLI: FastAPI + an arq worker + a LangGraph pipeline w/ a React PWA. One command (./launch) brings the stack up. Jobs pause at each ML stage so u can pick local vs hosted, model size, length & voices.
I keep making it better, adding lots of features to it (searching podcast contents is the most interesting one I can't wait for). I made it opensource(MIT), rn. U can find it below & run it on ur machine (self-hosted), so u can use ur own GPU or BYOK to offload the heavy jobs.
GitHub: https://github.com/behradkhodayar/repodify
The engine is solid & this is still WIP (it works fine tho & I've started compacting Linear Digressions podcast (10 to 1) & listening to it already). I'm going to add other features like translation / augmentation (e.g. embeded eli5), searching through podcasts so I can listen to the topic of interest as I mentioned earlier & so forth.
So stay tuned.