A Next.js app + Chrome extension for saving YouTube videos, extracting transcripts, and repurposing content with AI.
- Extract video data from YouTube (title, views, VPH, description, duration, tags)
- Extract channel data (subscribers, video count, metadata)
- Auto-save channels when saving videos
- Get transcripts via clipboard or yt-dlp fallback
- Niche selection on save
- Videos Page - Filter by channel, niche, tags; view transcripts; AI repurposing (hooks, scripts, tweets)
- Channels Page - Manage channels, assign niches, view saved video counts
- Ideas Page - Content ideas management
- Repurpose transcripts into hooks, scripts, and tweets
- Suggest niches for channels
- Suggest tags based on transcript content and niche context
- Frontend: Next.js 16 (App Router), React, Tailwind CSS
- Database: SQLite (better-sqlite3)
- AI: Claude CLI integration
- Extension: Chrome Manifest V3
# Install dependencies
npm install
# Run development server (port 4000)
npm run dev- Open
chrome://extensions/ - Enable "Developer mode"
- Click "Load unpacked"
- Select the
extension/directory
| Endpoint | Methods | Description |
|---|---|---|
/api/videos |
GET, POST, DELETE | Video CRUD with filtering |
/api/videos/[id] |
PATCH, DELETE | Update/delete single video |
/api/channels |
GET, POST, PATCH, DELETE | Channel management |
/api/transcripts |
GET, POST | Transcript storage |
/api/transcripts/fetch |
POST | Fetch via yt-dlp |
/api/repurpose |
GET, POST | AI content generation |
/api/niches |
GET, POST, DELETE | Niche categories |
/api/niches/suggest |
POST | AI niche suggestions |
/api/tags/suggest |
POST | AI tag suggestions |
SQLite at data/toolkit.db
Tables: videos, channels, transcripts, repurposed_content, niches, ideas
creator-toolkit/
├── src/
│ ├── app/
│ │ ├── api/ # API routes
│ │ ├── videos/ # Videos page
│ │ ├── channels/ # Channels page
│ │ └── ideas/ # Ideas page
│ └── lib/
│ ├── db.ts # Database setup
│ └── claude.ts # AI integration
├── extension/ # Chrome extension
│ ├── manifest.json
│ ├── popup.js
│ ├── content.js
│ └── ...
└── data/ # SQLite database
Private project.