DataTalksClub / DataTalksClub/datatalksclub.github.io
Project: Build an Interactive Podcast Q&A Chatbot
Nobody has claimed this yet.
- Dominant language
- Python
- Stars
- 381
- Forks
- 42
- PR merge metrics
- No merged PRs in 30d
Description
📝 Background & Objective
To make our podcast pages highly interactive, we want to build a Chatbot that allows visitors to ask natural-language questions about our content.
Instead of reading through long transcripts or scrubbing through audio, a user should be able to ask a question—either about a specific podcast episode or across the entire podcast library—and receive a concise answer. These answers must include timestamps and direct links so the user can jump straight to the exact moment the topic was discussed.
This tool will drastically improve the user experience by helping visitors quickly extract insights, references, and explanations from our vast archive.
✅ Core Requirements
You will need to build a Retrieval-Augmented Generation (RAG) pipeline and a chat interface that handles the following:
1. Natural Language Q&A
Users should be able to type conversational questions (e.g., "What did the guest say about handling data drift?" or "What are the best tips for contributing to open-source?"). The bot should be able to scope its search to a single episode or query the entire library.
2. Retrieval & Generation
The system needs to:
- Load and process the episode transcripts.
- Retrieve the most relevant text segments based on the user's query.
- Generate a short, accurate, and concise answer synthesized from those segments.
3. Timestamping & Deep Linking
Every generated answer must cite its sources by including the exact timestamp(s) and a direct, clickable link to jump to that specific moment in the video or audio player.
🛠 Technical Architecture & Suggestions
We want to keep this lightweight and accessible. You do not need to build an overly complex system.
- Simple RAG Setup: You don't necessarily need a heavy Vector DB. A simple search engine like
minsearchis perfect for retrieval: https://github.com/alexeygrigorev/minsearch - LLM API: We recommend using Groq (which has a very generous free tier and lightning-fast inference) or standard plain OpenAI API calls.
- Keep it Lean: No heavy agent frameworks (like LangChain or LlamaIndex) are strictly required. Plain API calls and lightweight retrieval are preferred to keep the codebase maintainable.
📂 Resources You Can Use
- The Website Repo: DataTalks.Club is fully open-source: https://github.com/DataTalksClub/datatalksclub.github.io/tree/main
- Transcripts Data: All podcast transcripts are available on each individual page in the
_podcastfolder: https://github.com/DataTalksClub/datatalksclub.github.io/tree/main/_people. They are formatted in YAML/JSON, with each line recording the exact timecode and speaker.
Contributor guide
No contributing guide indexed for this repository
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start by inspecting the podcast pages and transcript data in the _people folder, including the YAML/JSON timecodes and speaker fields. Define the retrieval and chat entry points around the existing website structure; done means episode-scoped and library-wide questions return concise answers with exact timestamps and clickable links to the relevant media moments.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- jekyll, python
- Domain
- ai, machine-learning, web-dev
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 25/100