Junior/Senior TS/Node developer who actually lives in Claude Code (2 long-term spots)

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

TYPE OF WORK

Full Time

SALARY

$1500 - $2500 per month

HOURS PER WEEK

40

DATE UPDATED

Aug 5, 2026

JOB OVERVIEW

I'm hiring two senior TypeScript/Node developers. Not for a project, for the long run.

> 1 month trial period
> Then a minimum 6-month contract
> Regular raises based on what you're worth, not on a calendar
> I've worked with Filipino teams for years and visit the Philippines regularly. I'll be there in January and would like to meet in person.

What we build:
Automations for e-commerce sellers on ---------- : reporting, inventory signals, review monitoring, listing image generation. One codebase, a Supabase database per client. No framework, strict TypeScript, ESM, 1285 Vitest tests.

What you'll do:
Come up with new e-commerce automations, build them end to end, and test them properly before a client touches them. Sometimes you get a concept and work it out. Sometimes the idea is yours.

We're AI-first (for real):
Claude Code is how we write software here, not an occasional helper.
> You write specs an agent can execute
> You review generated code critically instead of trusting it
> You know when to hand off and when to write it yourself
> We build LLMs into the automations themselves
> You follow what's happening in AI and bring it to the team

You work independently:
There's a backlog and how you build is largely yours. See something better than what was asked? Say so. If you need daily check-ins, this is the wrong job.

Must have:
> Strong TypeScript + Node, strict mode, ESM, no framework
> Daily Claude Code on real production work, in VS Code
> Up to date on current LLM models and AI developments
> Real Postgres/SQL, you know why create table if not exists is dangerous against an existing database
> Third-party APIs that misbehave: pagination, 429s, expiring tokens, retries
> Tests that capture why a rule exists, not that it exists
> You flag problems and propose alternatives unprompted
> Written English for async technical discussion

Nice to have:
LLMs as a pipeline step rather than a chatbot, Google Sheets API, Playwright, Docker.

How we work:
Fully async. Small, finished steps. Every change through typecheck + tests + architecture checks before commit.

How to apply:
Don't reply here, I only read applications from the form. All questions are in there, takes about 7 minutes:
> ----------

What happens next:
1. You'll hear fro ---------- within 3 working days if you made it
2. If I message you, you're in my top 4
3. Short test assignment
4. Yes or no, straight after

>> APPLY HERE: ----------

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.0112
Total Execution Time  0.0125
  GET DATA  
No GET data exists
  MEMORY USAGE  
1,499,784 bytes
  POST DATA  
No POST data exists
  URI STRING  
jobseekers/job/JuniorSenior-TSNode-developer-who-actually-lives-in-Claude-Code-2-long-term-spots-1703140
  CLASS/METHOD  
jobseekers/job
  DATABASE:  onlinejobs (Jobseekers:$db)   QUERIES: 13 (0.0063 seconds)  (Hide)
0.0003   SELECT *
                                
FROM exrates
                                WHERE rate_name 
'USD-PHP' 
0.0003   SELECT *
FROM `employer_jobs`
WHERE `job_id` = 1703140
 LIMIT 1 
0.0008   SELECT *
FROM `employers`
WHERE `employer_id` = 942045
 LIMIT 1 
0.0007   SELECT COUNT(*) AS `numrows`
FROM `t_thread` `t`
LEFT JOIN `t_thread_misc` `miscON `t`.`id` = `misc`.`thread_id`
WHERE `t`.`job_id` = 1703140
AND `misc`.`idIS NULL 
0.0004   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 '1703140' 
0.0003   SELECT *
FROM `employer_jobs_skills` `ejs`
LEFT JOIN `skills_categories` `scON `ejs`.`skill_id` = `sc`.`id`
WHERE `job_id` = 1703140 
0.0007   UPDATE employer_jobs SET hit_counts '***Aug-05-2026=709***Aug-06-2026=163***Aug-07-2026=85***Aug-08-2026=44***Aug-09-2026=1' WHERE job_id'1703140'  
0.0006   UPDATE employer_jobs SET monthly_hits '***Aug-2026=1002' WHERE job_id'1703140'  
0.0008   SELECT date_sent FROM jobseeker_sent_emails WHERE jobseeker_id '' AND job_id '1703140' 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` = 1703140 
0.0007   SELECT COUNT(*) AS `numrows`
FROM `employer_jobs`
WHERE `employer_id` = '942045'
AND `date_added` >= '2022-06-08' 
0.0002   select from teasers 
0.0002   SELECT FROM skill_categories WHERE skill_cat_id='' 
  HTTP HEADERS  (Show)
  SESSION DATA  (Show)
  CONFIG VARIABLES  (Show)