Chosefil
A Persian-language streaming platform that brings live events, sports, films and series into one seamless viewing experience.
Cover image coming soon · /projects/chosefil/cover.avif
- Client
- Chosefil
- Year
- 2026
- Duration
- 3 months
- Industry
- Entertainment and video streaming — live events and sports, films and series
- Project type
- Video streaming platform / web app
- Status
- Development paused; live streaming operational, VOD partially implemented
- Our role
- Product design, Project management
- Stack
- Next.js
- React
- hls.js
- NestJS
- PostgreSQL
- Redis
- BullMQ
- FFmpeg
- MinIO
- Live site
- chosefil.com
Challenge
TODO: original problem and situation before the project
Goal
Create one seamless experience for live events and on-demand content, focused on easy viewing and retention.
Key decisions
The "Program" model: admins define an event and attach candidate channels
Instead of automatically searching every provider channel. TODO: reason
Hidden sources, with the best one chosen after a health check
TODO
/live and /movies in one app instead of subdomains
TODO
Hardest technical problem
VOD playback architecture: fast start, seek and resume before the file is fully cached, no duplicate downloads of the same episode, and scalability. TODO: final solution and result
Features
- Live event streaming
- Best-source selection from candidate channels
- Film and series VOD (partial)
Technical notes
Next.js front end as the playback client (hls.js for live, native video for VOD); NestJS backend; FFmpeg media processing; BullMQ + Redis queues; MinIO object storage. TODO: confirm production stack