Clipmark is a high-performance, 100% native YouTube processing tool that transforms any video into navigable timestamps, detailed transcripts, and pro-level SEO metadata. By bypassing AI latency, Clipmark provides near-instant results directly from official YouTube data.
Tip
New to the project? Check out our Full Technical Documentation for a deep-dive into every step, workflow, and API logic.
- 📊 Comprehensive Video Insights: Real-time extraction of view counts, likes, comments, and channel metadata.
- 🔖 Native Chapter Parsing: Automatically extracts "creator-intended" chapters from video descriptions with click-to-seek functionality.
- 📝 Optimized Transcripts: Word-for-word YouTube captions grouped into 10-second readable segments.
- 🔍 SEO Metadata: Instant retrieval of full video descriptions and tags for SEO optimization.
- ♾️ 100% Free & Unlimited: No video processing limits or tier-based restrictions.
- ⚡ Lightning Fast: Native-only processing path skips heavy audio extraction and STT for near-instant results.
- Frontend: Next.js 14 (App Router), Tailwind CSS, Clerk Auth, Lucide React.
- Backend: Node.js (Express), BullMQ (Redis Queue), Mongoose (MongoDB).
- External APIs: YouTube Data API V3, YouTube Transcript API.
- Storage/Exports: Cloudinary (for file exports).
Ensure you have the following installed:
Create a .env file in apps/api and a .env.local in apps/web.
PORT=8080
MONGODB_URI=your_mongodb_uri
REDIS_URL=redis://localhost:6379
YOUTUBE_API_KEY=your_google_api_key
CLERK_SECRET_KEY=your_clerk_secret_key
CLERK_PUBLISHABLE_KEY=your_clerk_publishable_key
CLOUDINARY_URL=your_cloudinary_urlNEXT_PUBLIC_CLERK_PUBLISHABLE_KEY=your_clerk_publishable_key
CLERK_SECRET_KEY=your_clerk_secret_key
NEXT_PUBLIC_API_URL=http://localhost:8080Install dependencies for the entire monorepo:
npm installStart both the Frontend and Backend concurrently:
npm run devThe apps will be available at:
- Web:
http://localhost:3000 - API:
http://localhost:8080
├── apps/
│ ├── api/ # Express Backend (Jobs, Workers, API)
│ └── web/ # Next.js Frontend (Dashboard, Results, Auth)
├── packages/
│ └── shared/ # Shared Types and Constants
└── package.json # Root workspace configuration
- Submission: User pastes a YouTube URL into the dashboard.
- Metadata Fetch: Backend uses YouTube Data API to fetch title, duration, and detailed stats (views, likes).
- Queueing: A job is added to BullMQ for processing.
- Native Processing:
- Extraction of original description.
- Regex parsing of description for timestamps (Chapters).
- Retrieval of official closed captions.
- Grouping transcript into 10s intervals.
- Database Update: Results are stored in MongoDB.
- Delivery: Frontend polls for completion and displays the interactive dashboard with Click-to-Seek.
© 2026 Clipmark. All rights reserved. Built by Jenil Rupapara.