Node.js / Video Rendering Developer (Remotion + FFmpeg)

Please login or register as jobseeker to apply for this job.

TYPE OF WORK

Full Time

SALARY

400

HOURS PER WEEK

50

DATE UPDATED

Jun 21, 2026

JOB OVERVIEW

ABOUT THE ROLE
--------------

We're building an automated video-generation platform (AI-assisted
faceless video creation). The core engine is built and maintained
with a senior reviewer; we need a reliable developer to OWN the
day-to-day: fix bugs, maintain the rendering pipeline, and ship
small features. This is a long-term role with real growth — pay
increases as you prove yourself.

WHAT YOU'LL DO
--------------

- Maintain and debug a Node.js/TypeScript video-rendering pipeline
- Work with Remotion (React-based video) and FFmpeg to assemble
videos: footage + voiceover + captions + motion graphics + music
- Fix bugs in rendering, timing/sync, and encoding
- Integrate and maintain third-party APIs (TTS, stock/footage,
storage/CDN)
- Improve render performance, reliability, and cost
- Submit clean pull requests for code review (nothing goes straight
to production)
- Write clear updates on what you did and what's blocked

MUST-HAVE SKILLS
----------------

- Strong JavaScript / TypeScript (Node.js)
- Hands-on experience with FFmpeg (encoding, trimming, concat,
filters, audio mixing)
- Experience with video/media processing OR motion-graphics tooling
- Comfortable with Git / GitHub pull-request workflow
- Good written English and proactive communication
- Reliable internet + ability to overlap a few hours with [YOUR TZ]

NICE-TO-HAVE (BIG PLUS)
-----------------------

- Remotion experience (or React + willingness to learn it fast)
- Experience with render queues / background jobs (BullMQ, Redis)
- Cloud experience (Hetzner, AWS, Cloudflare R2, spot instances)
- Experience with Whisper / speech-to-text timing
- Any past work on automated video or media pipelines

THE STACK
---------

Node.js / TypeScript · Remotion · FFmpeg · Whisper · Postgres ·
Redis · Cloudflare R2 · Git/GitHub

WORK ARRANGEMENT ---------- % remote
- Start: part-time, moving to full-time for the right person
- Long-term (this is not a one-off gig)
- Some overlap with [YOUR TIMEZONE] required for sync

COMPENSATION
------------

- Starting at $400 USD/month, with raises based on performance
and as the role grows to full-time
- Paid monthly via [Wise / PayPal / Payoneer — your choice]
- Performance bonuses for major milestones

HOW TO APPLY (READ CAREFULLY — APPLICATIONS THAT IGNORE THIS ARE
DELETED)
----------------------------------------------------------------

1. Start your message with the word "RENDER" so I know you read
the full post.
2. Briefly describe ONE project where you used FFmpeg or video
processing — what was the hardest bug you solved?
3. Tell me: have you used Remotion? (Honest "no, but I learn fast"
is fine.)
4. Share a GitHub profile or code sample if you have one.
5. Tell me your available hours per week and your timezone overlap
with [YOUR TZ].

Shortlisted candidates will be given a SMALL PAID TEST TASK
(a real bug to fix) before any long-term commitment.

Looking forward to working with someone reliable for the long run!

SKILL REQUIREMENT
VIEW OTHER JOB POSTS FROM:
SHARE THIS POST
facebook linkedin
  BENCHMARKS  
Loading Time: Base Classes  0.0008
Controller Execution Time ( Jobseekers / Job )  0.0326
Total Execution Time  0.0340
  GET DATA  
No GET data exists
  MEMORY USAGE  
1,527,952 bytes
  POST DATA  
No POST data exists
  URI STRING  
jobseekers/job/Nodejs-Video-Rendering-Developer-Remotion-FFmpeg-1661641
  CLASS/METHOD  
jobseekers/job
  DATABASE:  onlinejobs (Jobseekers:$db)   QUERIES: 13 (0.0268 seconds)  (Hide)
0.0003   SELECT *
                                
FROM exrates
                                WHERE rate_name 
'USD-PHP' 
0.0008   SELECT *
FROM `employer_jobs`
WHERE `job_id` = 1661641
 LIMIT 1 
0.0023   SELECT *
FROM `employers`
WHERE `employer_id` = 752055
 LIMIT 1 
0.0014   SELECT COUNT(*) AS `numrows`
FROM `t_thread` `t`
LEFT JOIN `t_thread_misc` `miscON `t`.`id` = `misc`.`thread_id`
WHERE `t`.`job_id` = 1661641
AND `misc`.`idIS NULL 
0.0005   SELECT e.business_namee.logoe.websitee.rebill_datee.date_added member_datehitsDATEDIFF('2026-08-09',ej.date_added) duration_daysDATEDIFF('2026-08-09',e.rebill_date) duration_rebillej.*, e.deactivate FROM employers eemployer_jobs ej WHERE e.employer_id ej.employer_id AND
                                   ((
e.user_level >= '500' AND ej.date_added <= e.rebill_date)
                                   OR 
e.employer_id '' OR (ej.date_approved <> '2000-01-01' and DATEDIFF('2026-08-09',ej.date_added) <= 14 ))
                                   AND 
e.deactivate != AND ej.deleted AND job_id '1661641' 
0.0008   SELECT *
FROM `employer_jobs_skills` `ejs`
LEFT JOIN `skills_categories` `scON `ejs`.`skill_id` = `sc`.`id`
WHERE `job_id` = 1661641 
0.0018   UPDATE employer_jobs SET hit_counts '***Jun-04-2026=527***Jun-05-2026=76***Jun-06-2026=25***Jun-07-2026=9***Jun-08-2026=23***Jun-09-2026=7***Jun-10-2026=8***Jun-11-2026=7***Jun-12-2026=7***Jun-13-2026=3***Jun-14-2026=8***Jun-15-2026=10***Jun-16-2026=10***Jun-17-2026=5***Jun-18-2026=9***Jun-19-2026=5***Jun-20-2026=4***Jun-21-2026=620***Jun-22-2026=113***Jun-23-2026=64***Jun-24-2026=12***Jun-25-2026=4***Jun-26-2026=3***Jun-27-2026=4***Jun-28-2026=8***Jun-29-2026=5***Jun-30-2026=2***Jul-01-2026=4***Jul-02-2026=11***Jul-03-2026=5***Jul-04-2026=3***Jul-05-2026=7***Jul-06-2026=6***Jul-07-2026=6***Jul-08-2026=8***Jul-09-2026=3***Jul-10-2026=8***Jul-11-2026=2***Jul-12-2026=7***Jul-13-2026=2***Jul-14-2026=8***Jul-15-2026=8***Jul-16-2026=8***Jul-17-2026=3***Jul-18-2026=2***Jul-19-2026=6***Jul-20-2026=5***Jul-21-2026=2***Jul-22-2026=1***Jul-23-2026=8***Jul-24-2026=6***Jul-25-2026=11***Jul-26-2026=9***Jul-27-2026=5***Jul-28-2026=2***Jul-29-2026=6***Jul-30-2026=3***Jul-31-2026=6***Aug-01-2026=3***Aug-02-2026=3***Aug-03-2026=8***Aug-04-2026=6***Aug-05-2026=4***Aug-06-2026=2***Aug-08-2026=1***Aug-09-2026=1' WHERE job_id'1661641'  
0.0006   UPDATE employer_jobs SET monthly_hits '***Jun-2026=1578***Jul-2026=171***Aug-2026=28' WHERE job_id'1661641'  
0.0013   SELECT date_sent FROM jobseeker_sent_emails WHERE jobseeker_id '' AND job_id '1661641' AND status LIKE 'sent%' ORDER BY id DESC  
0.0003   SELECT *
FROM `employer_jobs_skills` `ejs`
LEFT JOIN `skills_categories` `scON `ejs`.`skill_id` = `sc`.`id`
WHERE `job_id` = 1661641 
0.0160   SELECT COUNT(*) AS `numrows`
FROM `employer_jobs`
WHERE `employer_id` = '752055'
AND `date_added` >= '2022-06-08' 
0.0003   select from teasers 
0.0003   SELECT FROM skill_categories WHERE skill_cat_id='' 
  HTTP HEADERS  (Show)
  SESSION DATA  (Show)
  CONFIG VARIABLES  (Show)