Node.js Developer (Full-Time): Keep Our Live Systems Running

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

TYPE OF WORK

Full Time

SALARY

USD $1,000 to $1,200/month, depending on

HOURS PER WEEK

40

DATE UPDATED

Oct 16, 2026

JOB OVERVIEW

We’re a small, profitable media company. We run our YouTube production through our own web portal (research, an AI video editor, copyright checks, translation, task tracking), and we’re building a second product next to it. Both are large, mostly AI-built, and live in production. We need an engineer who keeps them healthy, checks what the AI writes, and helps them grow.

Hours: 40 h/week, overlapping 10:00 to 18:00 Philippine time.
Salary: USD $1,000–$1,200/month, depending on experience.

WHAT YOU’LL DO

- Investigate and fix bugs from Sentry and from the team, prioritizing urgent issues during your hours.
- Write tests and help keep our production systems reliable.
- Build small features from written specs as tested, reviewed PRs.
- First project: write the architecture and setup docs.

Initially, you’ll focus on bug fixes, tests, documentation, and small features. The founder retains deployment decisions and provides backup for production i ---------- . Your ownership will grow as you learn the systems and demonstrate reliable delivery.

STACK

- Node.js 20 (Express, ES modules), PostgreSQL, plain HTML/JS plus a React/TypeScript editor, Docker on Railway, GitHub Actions, Sentry.
- Some Python, FFmpeg, yt-dlp.
- APIs: Anthropic Claude, Google Gemini, OpenAI, ElevenLabs, YouTube, Trello, ---------- , Dropbox.

YOU HAVE

- 3+ years of Node.js in production, and solid Postgres/SQL.
- Experience debugging live systems down to the root cause.
- Experience working in a large codebase you didn’t write.
- The habit of writing tests and keeping PRs small.
- Good written English.
- Daily use of AI coding tools (Claude Code, Codex), and you can check their output.

Nice to have: Python, FFmpeg/video, Docker, LLM APIs.

HOW WE HIRE

1. Written application.
2. A 20-minute call.
3. A paid test task (4 to 8 hours) on a real bug.
4. A 2-week paid trial, then a 3-month contract with 30-day notice.

You sign an NDA and an IP agreement, and all code goes through reviewed PRs.

TO APPLY

Start your message with “Production bug:” and answer:

1. A production bug you fixed: what broke, the root cause, how you found it, and how you stopped it happening again.
2. Which AI coding tools you use, and how you check their code.
3. A link to your GitHub or something you built.
4. Your expected monthly salary in USD.

Applications that don’t start with “Production bug:” or skip the questions won’t be read.

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.0117
Total Execution Time  0.0130
  GET DATA  
No GET data exists
  MEMORY USAGE  
1,500,968 bytes
  POST DATA  
No POST data exists
  URI STRING  
jobseekers/job/Nodejs-Developer-Full-Time-Keep-Our-Live-Systems-Running-1751004
  CLASS/METHOD  
jobseekers/job
  DATABASE:  onlinejobs (Jobseekers:$db)   QUERIES: 13 (0.0058 seconds)  (Hide)
0.0004   SELECT *
                                
FROM exrates
                                WHERE rate_name 
= 'USD-PHP' 
0.0005   SELECT *
FROM `employer_jobs`
WHERE `job_id` = 1751004
 LIMIT 1 
0.0005   SELECT *
FROM `employers`
WHERE `employer_id` = 584161
 LIMIT 1 
0.0005   SELECT COUNT(*) AS `numrows`
FROM `t_thread` `t`
LEFT JOIN `t_thread_misc` `misc` ON `t`.`id` = `misc`.`thread_id`
WHERE `t`.`job_id` = 1751004
AND `misc`.`id` IS NULL 
0.0005   SELECT e.business_name, e.logo, e.website, e.rebill_date, e.date_added member_date, hits, DATEDIFF('2026-10-21',ej.date_added) duration_days, DATEDIFF('2026-10-21',e.rebill_date) duration_rebill, ej.*, e.deactivate FROM employers e, employer_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-10-21',ej.date_added) <= 14 ))
                                   AND 
e.deactivate != 1 AND ej.deleted = 0 AND job_id = '1751004' 
0.0003   SELECT *
FROM `employer_jobs_skills` `ejs`
LEFT JOIN `skills_categories` `sc` ON `ejs`.`skill_id` = `sc`.`id`
WHERE `job_id` = 1751004 
0.0007   UPDATE employer_jobs SET hit_counts = '***Oct-16-2026=594***Oct-17-2026=248***Oct-18-2026=4***Oct-19-2026=5***Oct-21-2026=3' WHERE job_id= '1751004'  
0.0006   UPDATE employer_jobs SET monthly_hits = '***Oct-2026=854' WHERE job_id= '1751004'  
0.0004   SELECT date_sent FROM jobseeker_sent_emails WHERE jobseeker_id = '' AND job_id = '1751004' AND status LIKE 'sent%' ORDER BY id DESC  
0.0003   SELECT *
FROM `employer_jobs_skills` `ejs`
LEFT JOIN `skills_categories` `sc` ON `ejs`.`skill_id` = `sc`.`id`
WHERE `job_id` = 1751004 
0.0004   SELECT COUNT(*) AS `numrows`
FROM `employer_jobs`
WHERE `employer_id` = '584161'
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)