Skip to content

Releases: adminbjkai/cap5

v0.1.0 — First stable milestone

12 Apr 15:50

Choose a tag to compare

Cap5 v0.1.0 — the first stable milestone of the single-tenant video processing platform.

What's working

Core pipeline

  • Upload (single-part and multipart) → FFmpeg processing → MP4 normalization
  • Deepgram transcription with speaker diarization
  • Groq-powered AI enrichments: title, summary, chapters, entities, action items, quotes
  • Queue-based job processing with retry support for eligible transcription/AI jobs
  • Soft delete with delayed artifact cleanup

Watch page

  • Video playback with chapter navigation and keyboard shortcuts
  • Editable transcript with speaker labels
  • Speaker filtering with live-synced selected-speaker playback
  • Server-backed operator notes
  • AI summary, action items, and chapter panels

Auth & security

  • Single-user JWT authentication
  • Login throttling with auth event logging
  • Inbound webhook verification (media-server callbacks)
  • Signed outbound user webhooks with HMAC headers
  • Idempotency-key enforcement on all mutations

Frontend

  • React/Vite SPA with dark mode
  • Collapsible sidebar with localStorage persistence
  • Library page with filtering by status, sorting, and creation timestamps
  • Video creation time displayed on library cards and watch page header
  • System provider status dashboard (Deepgram + Groq health)
  • In-browser screen recording

Infrastructure

  • Docker Compose deployment (PostgreSQL, MinIO, web-api, worker, media-server, nginx)
  • Automated CI: lint, typecheck, unit tests, web E2E, API E2E, Docker build (8 checks)
  • Pnpm monorepo with shared config, db, and logger packages

Test coverage

  • Web component and Playwright E2E tests
  • API E2E for jobs, library, uploads, videos, webhooks
  • Worker tests for queue transitions, cleanup lifecycle, webhook signing
  • Provider integration tests for Deepgram and Groq
  • Auth login throttling unit tests

Known gaps

  • No production deployment story beyond Docker Compose
  • No active HLS streaming path
  • Worker throughput scaling is intentionally simple (single-claim loop)
  • Full browser recording flow E2E not yet covered