Skip to content

Parithosh-Varma/ScribeTube

Repository files navigation

ScribeTube

ScribeTube
YouTube → Polished Book Chapter

by Parithosh-Varma

🌐 Live Demo


Turn any YouTube video into a beautifully formatted book chapter.
Paste a link → fetch the transcript → instantly generate structured prose with headers, takeaways & clean typography.
No API key required. Runs locally.


⚡ One-liner

YouTube transcript in, polished book chapter out. No API keys needed. No cloud dependencies. Just Python + React.


✨ What It Does

Capability How
Fetch any YouTube transcript Local Python backend → youtube-transcript-api → no CORS, no rate limits, no proxies
Format into a book chapter AI (Claude/GPT/Gemini) or built-in local heuristic editor — your choice
Explore interactively Split workspace with video player, timestamped caption browser, and live chapter preview
Export cleanly Plain text · Markdown · .md file · PDF print with full typographic control

🚀 One-Minute Setup

# Terminal 1 — Backend
pip3 install youtube-transcript-api flask flask-cors
python3 server/server.py

# Terminal 2 — Frontend
npm install
npm run dev

Or start both at once:

npm start

Open http://localhost:5173 and paste a YouTube URL.


🏗 Architecture

                         ┌──────────────────┐
                         │   Browser (5173) │
                         │  React 19 + Vite │
                         └────────┬─────────┘
                                  │ GET /api/transcript?v=xxx
                                  │ GET /api/metadata?v=xxx
                                  ▼
                         ┌──────────────────┐
                         │  Flask Backend   │
                         │  (localhost:8080)│
                         │ youtube-transcript-api
                         └────────┬─────────┘
                                  │
                    ┌─────────────┴─────────────┐
                    ▼                           ▼
           ┌────────────────┐          ┌────────────────┐
           │  Local Editor  │          │  AI Providers   │
           │  (no key)      │          │  (optional)     │
           │  Heuristic MD  │          │  Claude / GPT   │
           │  formatting    │          │  / Gemini       │
           └────────────────┘          └────────────────┘

🗂 Project Layout

youtube-transcript-book-converter/
├── server/
│   └── server.py              # Flask backend — transcript & metadata API
├── src/
│   ├── App.tsx                # Main UI
│   ├── main.tsx               # Entry point
│   ├── index.css              # Tailwind v4 + design tokens
│   ├── LOGO/
│   │   └── logo.png           # App logo
│   ├── data/
│   │   └── presets.ts         # (empty — presets removed)
│   └── utils/
│       ├── transcript.ts      # ID extraction, fetching, local formatter
│       ├── ai.ts              # AI provider configs + API calls
│       ├── markdown.ts        # Markdown → styled HTML
│       └── cn.ts              # Tailwind class merger
├── .gitignore
├── index.html
├── package.json
├── tsconfig.json
└── vite.config.ts

🎨 UI Highlights

  • Literary design system — Fraunces serif, Inter UI, JetBrains Mono for raw data
  • Editing desk layout — narrow Configure rail + wide Manuscript Page panel
  • Before/after strip — visualizes raw transcript → polished prose transformation
  • Dark/Light theme — Reading Room dark, Manuscript Page light
  • Oxblood + Brass palette — book-cover aesthetic, not SaaS dashboard
  • Stamp press button — Generate button clicks down like a printing press
  • Smart first-letter drop-cap — in serif book mode
  • Searchable captions — filter transcript segments by keyword
  • PDF print output — clean A4 formatting with elegant dividing ornaments
  • Reduced motion — respects prefers-reduced-motion
  • Brass focus states — keyboard navigation with brass ring outlines

⚙️ Configuration

AI Provider   →  Local / Anthropic / OpenAI / Gemini
API Key       →  Stored in localStorage (never leaves your browser)
Font          →  Serif / Sans / Mono
Font Size     →  SM / BASE / LG / XL
Theme         →  Dark (Reading Room) / Light (Manuscript Page)

📦 Build for Production

npm run build

Outputs a single self-contained dist/index.html with everything inlined. Deploy anywhere.


🤝 Contributing

Ideas for next-level stuff:

  • More AI providers (Groq, Ollama, Mistral)
  • Speaker diarization from transcript
  • EPUB / MOBI export
  • Multi-language caption support

PRs welcome.


📄 License

MIT — free for any use.


Made by Parithosh-Varma · built with React, Flask, and a love for good prose.

About

ScribeTube converts YouTube transcripts into polished book chapters. Paste a video URL, fetch captions locally via Python, and get formatted Markdown with headers, clean prose, and takeaways. Export as MD, text, or PDF.

Topics

Resources

Stars

2 stars

Watchers

0 watching

Forks

Releases

No releases published

Packages

 
 
 

Contributors