WatchTV is a complete video streaming solution I built from scratch. It features a **passwordless email OTP login** system with JWT-based session management for users, and a separate email+password login for sub-admins. The backend runs on **Elysia.js (Bun)** with a **MongoDB + Prisma ORM** database, and integrates with **Cloudflare R2** (S3-compatible object storage) for all media assets. **Video Pipeline:** Videos can be uploaded directly via presigned URLs or imported from external URLs through an intelligent background queue that processes one video at a time. The import queue automatically detects file formats via Content-Disposition headers, URL extensions, and magic byte signatures. Once uploaded, a separate **HLS transcoding pipeline** (running externally via bash scripts) converts videos into adaptive-bitrate HLS streams with **multi-language audio tracks** and **subtitle support**. The system handles stalled/crashed transcoding jobs gracefully by detecting stale processing states (>6 hours) and re-queuing them. **Frontend:** The user-facing app (Next.js 16 with React 19) features an HLS.js-powered video player with **audio track switching**, **adaptive quality selection**, infinite-scroll catalog browsing, and an integrated support ticket system where users can create and track tickets. The admin panel (separate Next.js app using Ant Design) provides dashboard cards for uploading videos, importing from URLs, managing users, and bulk video management with selective deletion of HLS/output files independently. **Architecture:** The entire project is organized as a **Turborepo monorepo** managed with Bun, with shared types between frontends and backend via Elysia Eden treaty client for end-to-end type safety.