Kivi is a high-performance Video-on-Demand (VOD) platform designed for course creators, featuring a robust video processing pipeline and secure adaptive bitrate streaming.
- Adaptive HLS Streaming: Automated transcoding to 720p/480p for smooth playback.
- Secure Delivery: Custom HLS proxy validates user sessions for every 6-second video segment.
- Asynchronous Processing: Background workers handle heavy FFmpeg tasks via BullMQ.
- Zero Egress Storage: Leverages Cloudflare R2 to keep delivery costs low.
- Frontend: Next.js 15 (App Router), Tailwind CSS, Shadcn UI
- Backend: Node.js, Prisma ORM (PostgreSQL)
- Infra: Bun, Redis, BullMQ, Cloudflare R2
- Processing: FFmpeg
-
Install Dependencies:
bun install
-
Environment Setup: Copy
.env.exampleto.envand configure your Database, Redis, and R2 credentials. -
Database Setup:
bunx prisma db push
-
Run Development Server:
bun dev
-
Run Transcoding Worker:
bun run worker:transcode
For detailed technical documentation, see the architecture/ artifacts.
