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

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

TYPE OF WORK

Full Time

WAGE / SALARY

400

HOURS PER WEEK

50

DATE UPDATED

Jun 4, 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.0007
Controller Execution Time ( Jobseekers / Job )  0.0762
Total Execution Time  0.0775
  GET DATA  
No GET data exists
  MEMORY USAGE  
1,531,688 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.0695 seconds)  (Hide)
0.0003   SELECT *
                                
FROM exrates
                                WHERE rate_name 
'USD-PHP' 
0.0003   SELECT *
FROM `employer_jobs`
WHERE `job_id` = 1661641
 LIMIT 1 
0.0014   SELECT *
FROM `employers`
WHERE `employer_id` = 752055
 LIMIT 1 
0.0390   SELECT COUNT(DISTINCT t.id) as cnt
FROM 
`t_thread` `t`
INNER JOIN `t_message` `mON `t`.`id` = `m`.`thread_id`
INNER JOIN `t_message_employer` `eON `m`.`id` = `e`.`message_id`
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-06-20',ej.date_added) duration_daysDATEDIFF('2026-06-20',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-06-20',ej.date_added) <= 14 ))
                                   AND 
e.deactivate != AND ej.deleted AND job_id '1661641' 
0.0003   SELECT *
FROM `employer_jobs_skills` `ejs`
LEFT JOIN `skills_categories` `scON `ejs`.`skill_id` = `sc`.`id`
WHERE `job_id` = 1661641 
0.0007   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=2***Jun-20-2026=1' WHERE job_id'1661641'  
0.0006   UPDATE employer_jobs SET monthly_hits '***Jun-2026=692' 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.0245   SELECT COUNT(*) AS `numrows`
FROM `employer_jobs`
WHERE `employer_id` = '752055'
AND `date_added` >= '2022-06-08' 
0.0003   select from teasers 
0.0002   SELECT FROM skill_categories WHERE skill_cat_id='' 
  HTTP HEADERS  (Show)
  SESSION DATA  (Show)
  CONFIG VARIABLES  (Show)