Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
28 commits
Select commit Hold shift + click to select a range
a332421
Update README.md
euglopi Dec 12, 2025
fe95311
Clean up repo
yashc73080 Dec 12, 2025
7703db9
scaffold react bun app
squanto Dec 12, 2025
d652430
Merge pull request #1 from euglopi/add-frontend-scaffold
yashc73080 Dec 12, 2025
04c8266
gitignore
yashc73080 Dec 12, 2025
1044e7e
Merge branch 'main' of https://github.com/euglopi/PodVibe.fm
yashc73080 Dec 12, 2025
cbee056
Update README.md
euglopi Dec 12, 2025
f0cf60e
youtube summarizer
Dec 12, 2025
ad52716
Merge branch 'main' of https://github.com/euglopi/PodVibe.fm
yashc73080 Dec 12, 2025
e691fa9
wip
squanto Dec 12, 2025
033b549
Got new frontend running
yashc73080 Dec 12, 2025
36cbd93
chore: add Python patterns to .gitignore
squanto Dec 12, 2025
3988a73
feat: add homepage landing page with TypeScript migration
squanto Dec 12, 2025
bad5573
Merge pull request #4 from euglopi/spike-frontend-clipping-and-catego…
yashc73080 Dec 12, 2025
6826c24
Implement YouTube summarization feature
ishansinghparmar16-png Dec 12, 2025
3b002c1
Enhance YouTube summarization feature with improved accuracy and perf…
ishansinghparmar16-png Dec 12, 2025
e7ba413
Refactor YouTube video search to filter for English podcasts uploaded…
ishansinghparmar16-png Dec 12, 2025
08ebf93
Merge pull request #3 from euglopi/spike-frontend-clipping-and-catego…
squanto Dec 12, 2025
08b9e82
rename app homepage, to then link to trending videos grid
squanto Dec 12, 2025
0c6c096
trending videos instead of podcasts
squanto Dec 12, 2025
4718202
Update CSS to align navigation and trending sections with the main ap…
ishansinghparmar16-png Dec 12, 2025
26986a5
Merge pull request #5 from euglopi/stitch-together-pages
yashc73080 Dec 12, 2025
8d7c971
Embedded video playback
yashc73080 Dec 12, 2025
3736b39
Autosummarize video
yashc73080 Dec 12, 2025
7b76d2f
Merge pull request #6 from euglopi/explore-page-fixes
yashc73080 Dec 12, 2025
8b5a5b8
Merge pull request #7 from euglopi/spike-frontend-clipping-and-catego…
ishansinghparmar16-png Dec 12, 2025
9a0f5a8
update homepage to v2 ish
squanto Dec 12, 2025
ef18b55
update homepage, none of the videos are tagged products for trending
squanto Dec 12, 2025
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 4 additions & 0 deletions .env.example
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
# Copy this file to .env and add your actual API key
GEMINI_API_KEY=your-gemini-api-key-here
GOOGLE_API_KEY
YOUTUBE_API_KEY
186 changes: 186 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,186 @@
# Based on https://raw.githubusercontent.com/github/gitignore/main/Node.gitignore

# Logs

logs
_.log
npm-debug.log_
yarn-debug.log*
yarn-error.log*
lerna-debug.log*
.pnpm-debug.log*

# Caches

.cache

# Diagnostic reports (https://nodejs.org/api/report.html)

report.[0-9]_.[0-9]_.[0-9]_.[0-9]_.json

# Runtime data

pids
_.pid
_.seed
*.pid.lock

# Directory for instrumented libs generated by jscoverage/JSCover

lib-cov

# Coverage directory used by tools like istanbul

coverage
*.lcov

# nyc test coverage

.nyc_output

# Grunt intermediate storage (https://gruntjs.com/creating-plugins#storing-task-files)

.grunt

# Bower dependency directory (https://bower.io/)

bower_components

# node-waf configuration

.lock-wscript

# Compiled binary addons (https://nodejs.org/api/addons.html)

build/Release

# Dependency directories

node_modules/
jspm_packages/

# Snowpack dependency directory (https://snowpack.dev/)

web_modules/

# TypeScript cache

*.tsbuildinfo

# Optional npm cache directory

.npm

# Optional eslint cache

.eslintcache

# Optional stylelint cache

.stylelintcache

# Microbundle cache

.rpt2_cache/
.rts2_cache_cjs/
.rts2_cache_es/
.rts2_cache_umd/

# Optional REPL history

.node_repl_history

# Output of 'npm pack'

*.tgz

# Yarn Integrity file

.yarn-integrity

# dotenv environment variable files

.env
.env.development.local
.env.test.local
.env.production.local
.env.local

# parcel-bundler cache (https://parceljs.org/)

.parcel-cache

# Next.js build output

.next
out

# Nuxt.js build / generate output

.nuxt
dist

# Gatsby files

# Comment in the public line in if your project uses Gatsby and not Next.js

# https://nextjs.org/blog/next-9-1#public-directory-support

# public

# vuepress build output

.vuepress/dist

# vuepress v2.x temp and cache directory

.temp

# Docusaurus cache and generated files

.docusaurus

# Serverless directories

.serverless/

# FuseBox cache

.fusebox/

# DynamoDB Local files

.dynamodb/

# TernJS port file

.tern-port

# Stores VSCode versions used for testing VSCode extensions

.vscode-test

# yarn v2

.yarn/cache
.yarn/unplugged
.yarn/build-state.yml
.yarn/install-state.gz
.pnp.*

# IntelliJ based IDEs
.idea

# Finder (MacOS) folder config
.DS_Store

.vscode/*
.env

src/__pycache__/*
# Python
__pycache__/
*.py[cod]
*$py.class
venv/
.venv/
103 changes: 89 additions & 14 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,23 +1,98 @@
# Agentic AI App Hackathon Template
# YouTube Podcast Summarizer - Agentic AI Hackathon Submission

Welcome! This repository is your starting point for the **Agentic AI App Hackathon**. It includes:
start backend:

- A consistent folder structure
- An environment spec (`environment.yml` or `Dockerfile`)
- Documentation placeholders to explain your design and demo
```

```

An intelligent agent that summarizes YouTube podcast transcripts using Google Gemini AI, demonstrating a complete agentic AI architecture with planning, execution, and memory components.

## 🎯 Hackathon Requirements

✅ **Google Gemini API Integration**: Core AI engine for intelligent summarization
✅ **Agentic Architecture**: Modular design with Planner, Executor, and Memory
✅ **ReAct Pattern**: Reasoning + Acting workflow demonstrated
✅ **Tool Integration**: YouTube Transcript API + Gemini API
✅ **Full Observability**: Complete memory logging of all agent decisions
✅ **Complete Documentation**: Architecture, explanation, and demo included

## 📋 Submission Checklist

- [ ] All code in `src/` runs without errors
- [ ] `ARCHITECTURE.md` contains a clear diagram sketch and explanation
- [ ] `EXPLANATION.md` covers planning, tool use, memory, and limitations
- [ ] `DEMO.md` links to a 3–5 min video with timestamped highlights
- [x] All code in `src/` runs without errors
- [x] `ARCHITECTURE.md` contains a clear diagram sketch and explanation
- [x] `EXPLANATION.md` covers planning, tool use, memory, and limitations
- [ ] `DEMO.md` links to a 3–5 min video with timestamped highlights

## 🏗️ Architecture

This agent follows a clean agentic AI pattern with three core modules:

```
User Input → PLANNER → EXECUTOR → MEMORY
↓ ↓ ↓
Sub-tasks Tool Calls Logging
[YouTube API]
[Gemini API]
```

### Core Components

1. **Planner** (`planner.py`) - Breaks down user goal into executable sub-tasks
2. **Executor** (`executor.py`) - Executes tasks using appropriate tools
3. **Memory** (`memory.py`) - Logs all agent activities and decisions

## 🚀 Getting Started

1. **Clone / Fork** this template. Very Important. Fork Name MUST be the same name as the teamn name
### Prerequisites
- Python 3.8+
- Google Gemini API key ([Get one free](https://makersuite.google.com/app/apikey))


### Installation

1. **Install dependencies**
```powershell
pip install -r requirements.txt
```

2. **Set up your Gemini API key**
```powershell
$env:GEMINI_API_KEY='your-gemini-api-key-here'
```

3. **Run the application**
```powershell
cd src
streamlit run app.py
```

## 📖 How It Works

### 1. Planning Phase (ReAct: Reasoning)
The **Planner** creates an execution plan with sub-tasks

### 2. Execution Phase (ReAct: Acting)
The **Executor** runs each task using external tools

### 3. Memory & Observability
The **Memory** component logs all agent decisions

## 📁 Project Structure

```
src/
├── planner.py # Planning module
├── executor.py # Execution module
├── memory.py # Memory module
├── youtube_summarizer.py # Main agent
└── app.py # Streamlit UI

ARCHITECTURE.md # System design
EXPLANATION.md # Technical explanation
DEMO.md # Video demo
```

## 📂 Folder Layout

Expand All @@ -27,16 +102,16 @@ Welcome! This repository is your starting point for the **Agentic AI App Hackath

## 🏅 Judging Criteria

- **Technical Excellence **
- **Technical Excellence **
This criterion evaluates the robustness, functionality, and overall quality of the technical implementation. Judges will assess the code's efficiency, the absence of critical bugs, and the successful execution of the project's core features.

- **Solution Architecture & Documentation **
- **Solution Architecture & Documentation **
This focuses on the clarity, maintainability, and thoughtful design of the project's architecture. This includes assessing the organization and readability of the codebase, as well as the comprehensiveness and conciseness of documentation (e.g., GitHub README, inline comments) that enables others to understand and potentially reproduce or extend the solution.

- **Innovative Gemini Integration **
- **Innovative Gemini Integration **
This criterion specifically assesses how effectively and creatively the Google Gemini API has been incorporated into the solution. Judges will look for novel applications, efficient use of Gemini's capabilities, and the impact it has on the project's functionality or user experience. You are welcome to use additional Google products.

- **Societal Impact & Novelty **
- **Societal Impact & Novelty **
This evaluates the project's potential to address a meaningful problem, contribute positively to society, or offer a genuinely innovative and unique solution. Judges will consider the originality of the idea, its potential real‑world applicability, and its ability to solve a challenge in a new or impactful way.


Loading