Jitsi / WebRTC Engineer: Customize Jitsi Meet with Auto-Recording & Live Observer Portal
Budget / Salary$30–250
TypeFreelance project
LocationRemote
Posted1 hour ago
Jitsi / WebRTC Engineer: Customize Jitsi Meet with Auto-Recording & Live Observer Portal
Project Description :
I'm looking for an experienced Jitsi / WebRTC engineer with strong DevOps skills to customize and extend a self-hosted Jitsi Meet platform. You will not be building video calling from scratch. You will deploy Jitsi on DigitalOcean, rebrand it, and add recording, retention, and observer features on top.
Our participants are in Bangladesh and the EU, so call quality and data location both matter.
Scope :
Deployment and branding :
Self-hosted Jitsi (Prosody, Jicofo, Videobridge) on DigitalOcean, single-region to start (EU), designed so an Asia region can be added later
Self-hosted TURN (coturn) with TLS on 443/5349 and time-limited credentials
Full white-label of the web and mobile apps (name, logo, colors, domain, bundle IDs), with Jitsi branding removed
JWT authentication through our own backend, with host, participant, observer and reviewer roles
Automatic recording and retention :
Jibri recording starts automatically when the first participant joins, with no manual button
Recording workers that scale with the number of live meetings
Recordings uploaded to encrypted cloud storage (DigitalOcean Spaces or S3-compatible)
Recordings index in a database (meeting, participants, consent, delete-after date)
Automatic deletion after 180 days, including matching database records
Playback through the app only, using short-lived signed links
Live observer portal :
A separate portal where authorized observers can listen to a live meeting without joining it
Live stream from Jibri via a media server (SRS or NGINX-RTMP), played back via LL-HLS or WebRTC
Observer login with roles and MFA
Audit log of who listened to which meeting and for how long
Notice and consent :
Pre-join screen explaining that the meeting is recorded and may be monitored, with a checkbox required to join
Consent stored with timestamp, notice version and user or guest ID
Persistent "Recording" badge, and a "Monitoring on" indicator when an observer is connected
Notice text that can be changed per region
Admin dashboard :
Meetings, recordings, storage use, retention status, users and roles, access logs
What stays standard: Jitsi's usual moderation controls (mute, remove participant, lock room).
You should have :
Production experience deploying and customizing Jitsi Meet, including Jibri, Prosody, and the videobridge
Experience with automatic recording hooks and scaling recording workers
Streaming experience: RTMP, HLS, WebRTC, and media servers such as SRS or NGINX-RTMP
Backend skills (Node.js or Python), JWT, REST APIs
DevOps: DigitalOcean or AWS, Docker, autoscaling, monitoring, infrastructure as code
Security basics: encryption in transit and at rest, MFA, role-based access
Mobile (Jitsi Meet SDK for iOS and Android) is a plus, or tell me who would cover it
Familiarity with GDPR-style consent and retention requirements is a plus
Deliverables :
Working platform deployed on our cloud account
Source code in our private repository
Infrastructure scripts to rebuild the setup
Documentation (architecture, deployment, admin guide) and a short handover
[30] days of bug-fix support after launch
Important notes :
Jitsi's name and logo are trademarks of 8x8, so the final product must be fully rebranded.
Standard end-to-end encryption can't be combined with server-side recording, so it will be off.
Payment: milestone-based, with a small paid test task first
To apply, please answer these in your proposal :
Link to a Jitsi or WebRTC project you've deployed (a demo is ideal)
How would you auto-start Jibri recording per room, and how would you scale the recording workers?
Which media server would you use for the live observer stream, and why?
Your estimated cost and timeline per milestone, and your monthly infrastructure estimate
Your availability and time zone
Start your proposal with "JITSI-READY" so I know you've read this. Generic proposals will not be reviewed.
Project Description :
I'm looking for an experienced Jitsi / WebRTC engineer with strong DevOps skills to customize and extend a self-hosted Jitsi Meet platform. You will not be building video calling from scratch. You will deploy Jitsi on DigitalOcean, rebrand it, and add recording, retention, and observer features on top.
Our participants are in Bangladesh and the EU, so call quality and data location both matter.
Scope :
Deployment and branding :
Self-hosted Jitsi (Prosody, Jicofo, Videobridge) on DigitalOcean, single-region to start (EU), designed so an Asia region can be added later
Self-hosted TURN (coturn) with TLS on 443/5349 and time-limited credentials
Full white-label of the web and mobile apps (name, logo, colors, domain, bundle IDs), with Jitsi branding removed
JWT authentication through our own backend, with host, participant, observer and reviewer roles
Automatic recording and retention :
Jibri recording starts automatically when the first participant joins, with no manual button
Recording workers that scale with the number of live meetings
Recordings uploaded to encrypted cloud storage (DigitalOcean Spaces or S3-compatible)
Recordings index in a database (meeting, participants, consent, delete-after date)
Automatic deletion after 180 days, including matching database records
Playback through the app only, using short-lived signed links
Live observer portal :
A separate portal where authorized observers can listen to a live meeting without joining it
Live stream from Jibri via a media server (SRS or NGINX-RTMP), played back via LL-HLS or WebRTC
Observer login with roles and MFA
Audit log of who listened to which meeting and for how long
Notice and consent :
Pre-join screen explaining that the meeting is recorded and may be monitored, with a checkbox required to join
Consent stored with timestamp, notice version and user or guest ID
Persistent "Recording" badge, and a "Monitoring on" indicator when an observer is connected
Notice text that can be changed per region
Admin dashboard :
Meetings, recordings, storage use, retention status, users and roles, access logs
What stays standard: Jitsi's usual moderation controls (mute, remove participant, lock room).
You should have :
Production experience deploying and customizing Jitsi Meet, including Jibri, Prosody, and the videobridge
Experience with automatic recording hooks and scaling recording workers
Streaming experience: RTMP, HLS, WebRTC, and media servers such as SRS or NGINX-RTMP
Backend skills (Node.js or Python), JWT, REST APIs
DevOps: DigitalOcean or AWS, Docker, autoscaling, monitoring, infrastructure as code
Security basics: encryption in transit and at rest, MFA, role-based access
Mobile (Jitsi Meet SDK for iOS and Android) is a plus, or tell me who would cover it
Familiarity with GDPR-style consent and retention requirements is a plus
Deliverables :
Working platform deployed on our cloud account
Source code in our private repository
Infrastructure scripts to rebuild the setup
Documentation (architecture, deployment, admin guide) and a short handover
[30] days of bug-fix support after launch
Important notes :
Jitsi's name and logo are trademarks of 8x8, so the final product must be fully rebranded.
Standard end-to-end encryption can't be combined with server-side recording, so it will be off.
Payment: milestone-based, with a small paid test task first
To apply, please answer these in your proposal :
Link to a Jitsi or WebRTC project you've deployed (a demo is ideal)
How would you auto-start Jibri recording per room, and how would you scale the recording workers?
Which media server would you use for the live observer stream, and why?
Your estimated cost and timeline per milestone, and your monthly infrastructure estimate
Your availability and time zone
Start your proposal with "JITSI-READY" so I know you've read this. Generic proposals will not be reviewed.
Apply on Freelancer →
Project sourced from Freelancer.com. Applications happen directly on the original platform — we never collect your data.