Project Info
Early Bird is an AI-powered podcast generation system that curates personalized news content based on your unique interests, all sourced from a dynamically generated 3D embedding graph of current events. By leveraging state-of-the-art technologies like LangChain, Flask, and ElevenLabs, Early Bird ensures that every listener can enjoy a tailored, interactive news experience with the ability to ask questions and engage in real time. What Makes Early Bird Stand Out Personalized Experience: Through advanced AI, Early Bird offers content tailored specifically to a user's interests, ensuring they hear the most relevant news stories. Real-Time Interaction: Users can interrupt the podcast and receive dynamic, expert responses in real time, creating an engaging and interactive experience. Immersive Interface: With the 3D embedding space, users can visually navigate topics and explore related content, enhancing their connection to the material. Cutting-Edge Technology: Powered by LangChain, Flask, Perplexity Sonar, ElevenLabs, Mistral, and more, Early Bird seamlessly integrates multiple AI agents to provide an end-to-end solution for personalized podcast generation. What We Learned The power of real-time interaction: Listeners are more engaged when they can shape the content and ask follow-up questions. AI agent orchestration is crucial for creating a seamless, automated workflow that enables personalization and real-time responses. The importance of user control: Providing an immersive, interactive experience allows users to tailor the content to their specific needs and interests. Challenges We Overcame Building Interactivity: Initially, we generated static podcasts, but we quickly pivoted to an agentic system that allows for dynamic interruptions, ensuring real-time user engagement. Handling Complex Workflows: Orchestrating multiple agents in a seamless pipeline required careful design, but LangChain proved to be a powerful tool for managing the various stages of podcast creation. What's Next for Early Bird Expanding the personalization features, allowing for deeper customization of content preferences. Improving the accuracy of our research agents to provide even more insightful podcast episodes. Enhancing the interactivity by integrating more dynamic user feedback and enabling more types of user-driven interactions. How Early Bird Aligns with Sponsor Goals Zoom (Education Track Grand Prize) Early Bird redefines how we engage with educational content by curating personalized, interactive podcasts. It fosters knowledge sharing and empowers listeners to explore topics at their own pace, contributing to lifelong learning. Intersystems (Best Use of GenAI with IRIS Vector Search) By leveraging AI agents and vector embedding spaces, Early Bird uses Intersystems IRIS Vector Search to store and retrieve highly relevant content, making it an ideal fit for solutions that utilize advanced data retrieval and GenAI techniques. Context (Best AI Employee Workflow) The dynamic agentic workflow powering Early Bird, from event scraping to text-to-speech transcription, showcases the potential of AI to handle complex tasks autonomously, creating efficient systems that respond to user needs in real time. Perplexity (Best Search Hack) Early Bird is powered by Perplexity Sonar, which plays a crucial role in gathering the most relevant and up-to-date news for podcast creation. It leverages the search and reasoning capabilities of Perplexity to ensure that the content is always current and insightful. ElevenLabs (Best Use of ElevenLabs) The integration of ElevenLabs's text-to-speech technology enables Early Bird to provide a natural, human-like podcast experience. By transforming AI-generated scripts into seamless, lifelike audio, Early Bird pushes the boundaries of what's possible in AI-driven voice technologies. LangChain (Best Use of LangChain) Early Bird makes exceptional use of LangChain to manage complex workflows involving multiple agents. LangChain serves as the backbone for agent orchestration, ensuring that each step of the process—from content scraping to podcast generation—is automated and seamlessly integrated. Mistral (Best Use of Mistral AI API) Mistral's AI APIs are used to power both the Expert Agent and the Host Agent that generate the podcast scripts. Their low-latency, dynamic response capabilities are central to ensuring a smooth and interactive experience for users. Elastic (Best Use of Elasticsearch Serverless) Early Bird uses Elastic for data storage and retrieval, ensuring fast, efficient access to podcast episodes and user preferences. The integration with Elasticsearch enhances the speed and accuracy of content recommendations.
Early Bird: A Dynamic Podcast Generator
Our app is built with Next.js and ShadCN for the frontend, and Flask for the backend. We’ve implemented an agentic workflow that collects current events based on user-selected interests from a vector embedding space, and generates a personalized podcast based on these interests. The podcast generation workflow is fully automated, with each step orchestrated through LangChain.
Workflow
-
Event Scraping:
We begin by launching a request to Perplexity Sonar to scrape current events based on the user’s chosen interests. The result is a list of headlines that represent the most relevant news stories. -
Topic Parsing:
Next, we send these headlines to a ChatGPT agent that parses the text and categorizes the stories by topic, allowing us to organize the content effectively. -
Deep Research:
The parsed headlines are then sent to another Perplexity Sonar agent for a more thorough research dive into each story, gathering additional information and context. -
Story Creation:
The results are then sent to a ChatGPT agent tasked with synthesizing the information into a coherent podcast outline, setting the stage for the actual script generation. -
Podcast Script Generation:
Two specialized Mistral agents, an Expert Agent and a Host Agent, then collaborate to generate the podcast script. These agents interact within the LangChain framework, ensuring a smooth, flowing conversation for the final script. -
Text-to-Speech:
Once the script is ready, we send it to ElevenLabs for text-to-speech transcription, creating a natural-sounding audio file of the podcast. -
User Interaction:
The generated audio is presented to the user, who can interrupt at any point to ask follow-up questions. The Expert Agent responds in real time, ensuring the conversation remains dynamic and interactive. -
3D Embedding Space:
We end with a unique feature—a 3D embedding space where the user can move around to explore their interests, giving them complete control over the type of news content they want to explore in the future.
Inspiration
Every morning, I start my day by listening to Up First by NPR. While I love its concise format, I often found that:
- Some stories didn’t capture my interest.
- At times, the content felt biased.
- I wished I could ask follow-up questions in real time.
These frustrations inspired us to build Early Bird—a dynamic podcast generator that not only curates the news you care about but also lets you interact with it.
What it does
- Curates a personalized podcast based on your unique interests.
- Allows real-time interaction through dynamic interruptions and expert responses.
- Offers an immersive, 3D interface for exploring your interests further.
How we built it
- Front End:
- Next.js with ShadCN for a responsive, modern user interface.
- Search:
- Integrated Perplexity Sonar to fetch up-to-date news based on user interests.
- Research Distillation:
- Utilized ChatGPT to summarize and refine the scraped content.
- Response Generation:
- Employed Mistral for low-latency, dynamic response generation.
- Backend:
- Built using Flask in Python to manage API requests and coordinate the pipeline.
- Voice Generation:
- Leveraged 11Labs to convert scripts into natural-sounding audio.
- Recommender Systems:
- Applied reinforcement learning with Sherman Morrison optimization to tailor content recommendations.
- Data Storage:
- Used Elastic and Intersystems for vectorized data storage and fast retrieval of podcast episodes.
Challenges we ran into
- Building an Interruption System:
- Initially, we generated a single MP3 file for each podcast, which made it difficult to incorporate interactivity. This led to challenges in ensuring real-time responsiveness to user questions and engagement.
- Pivoting for Reactivity:
- We quickly learned that listeners needed to interact with the content. This realization forced us to reengineer our pipeline to support dynamic interruptions and follow-up responses, ensuring the podcast remains reactive and engaging.
Accomplishments that we're proud of
- Successfully implementing a fully agentic pipeline with LangChain for the podcast generation process.
- Creating a responsive, immersive experience that gives users control over their podcast content.
- Overcoming technical challenges to build a seamless interruption system for real-time engagement.
What we learned
- The importance of reactivity in content delivery: Podcasts can be more engaging when listeners have the ability to interact with the content, shaping their experience in real time.
- The power of automation: By using LangChain and various AI agents, we were able to automate complex workflows, reducing manual effort and improving efficiency.
What’s next for Early Bird
- Expanding the personalization options, allowing users to have even more control over the types of content they receive.
- Improving the accuracy and depth of the research agents for even more insightful, data-driven podcast episodes.
- Further enhancing the interactivity of the platform by integrating more dynamic user feedback mechanisms and content curation.
Analysis
View
Metric
- 57
- 56
- 36
- 13
Figures cover GitHub contributors during the hackathon window. A co-authored commit counts in full for each author, so per-member totals add up to more than the whole-team figures.
Technology
- CSSIn code
- HTMLIn code
- JavaScriptIn code
- LangChainIn code
- Mistral AIIn code
- Next.jsIn code
- OpenAIIn code
- PythonIn code
- ReactIn code
- Tailwind CSSIn code
- TypeScriptIn code
- FlaskClaimed
11 of 12 appear in the indexed code. 1 claimed on Devpost could not be matched to code, which may simply mean the tool leaves no trace in the repository.
AI coding agents
No AI coding agent signals were found in this repository.
Detected from committed agent config files and commit authorship. Absence of a signal is not proof an agent was unused.
Codebase size
Source size
1.2 MB
Source files
76
Counts recognized source files only; vendored directories, binaries and lockfiles are excluded, so this is smaller than the repository on disk.
Repository
roshanbellary/EarlyBird
112 files · 15.6 MB · @ 79fd105
Structure
Interface
25 files · 22%Screens, components and styles rendered to the user.
Application logic
50 files · 45%Domain rules, services and shared utilities.
Data & schema
2 files · 2%Schema definitions, migrations and data access.
Supporting
Layers are inferred from where files sit in the tree, not from reading the code. A project that names its directories unconventionally will read oddly here — open the file browser to check anything the diagram implies.
Languages
- HTML81%
- Python12%
- TypeScript6%
- Markdown1%
- JavaScript0%
- CSS0%
- Other (1)0%
Share of indexed source by file size. Binary and vendored files are excluded.
Dependencies
requirements.txt
pypi · 68- aiohappyeyeballs
- aiohttp
- aiosignal
- annotated-types
- anyio
- attrs
- certifi
- charset-normalizer
- dataclasses-json
- distro
- elevenlabs
- eval_type_backport
- filelock
- frozenlist
- fsspec
- h11
- httpcore
- httpx
- +50 more
client/early-bird/package.json
npm · 41- @radix-ui/react-accordion
- @radix-ui/react-alert-dialog
- @radix-ui/react-aspect-ratio
- @radix-ui/react-avatar
- @radix-ui/react-checkbox
- @radix-ui/react-collapsible
- @radix-ui/react-context-menu
- @radix-ui/react-label
- @radix-ui/react-menubar
- @radix-ui/react-navigation-menu
- @radix-ui/react-slot
- @react-three/drei
- @react-three/fiber
- @types/dom-speech-recognition
- @types/three
- class-variance-authority
- clsx
- cmdk
- +23 more
viz-test/package.json
npm · 9- @testing-library/dom
- @testing-library/jest-dom
- @testing-library/react
- @testing-library/user-event
- react
- react-dom
- react-scripts
- three
- web-vitals
package.json
npm · 3- @react-three/drei
- @react-three/fiber
- three
Declared in the repository’s manifests at the indexed commit. A declared package is not proof it is used, and runtime dependencies are listed first.
This project’s features have not been analysed yet.
Export this project's context (description, README, evidence, key source files) to chat with an AI agent elsewhere.