JavaScript (and TypeScript) is the second-largest language pool on AI training platforms after Python. Pay is similar at entry tier; specialty premiums diverge meaningfully. Here's the breakdown for JS contractors specifically.
Pay across the major platforms
Mid-tier JavaScript evaluator rates in 2026:
- Outlier: $52–$62/hr (mid), $65–$78/hr (senior)
- Mercor: $55–$70/hr (mid), $85–$105/hr (senior)
- Surge AI: $50–$60/hr (mid), $68–$92/hr (senior)
- Turing: $58–$75/hr (mid), $90–$120/hr (senior)
Mercor and Turing pay the highest senior JavaScript rates. Outlier and Surge are competitive at mid-tier and provide better hours consistency.
TypeScript premium
Most platforms apply a 5–12% premium for TypeScript-specific evaluation:
- Outlier: +8% on base for TS specialty
- Mercor: +12% on base
- Surge: +5% on base
The premium reflects that TypeScript evaluation requires evaluating type-safety in addition to logic. Raters who can spot subtle type bugs (any-leakage, narrowing failures, generic constraints) earn the specialty rate.
Framework specialties
JavaScript splits into multiple framework pools:
- React/JSX: Largest specialty pool, +5–10% on base
- Node.js backend: +10% on base
- Async/streams: +12% on base
- Web APIs (modern fetch, streams, etc.): +15% on base
- Performance (V8, profiling, memory): +18% on base
Performance-focused JS specialty is the highest-paying JS track but the smallest pool. Most contractors land in React or Node specialty.
What scores well in JS evaluation
Type-aware reasoning (TypeScript especially)
The model often produces code that "type-checks" but is actually wrong. Raters who flag type-narrowing failures, implicit any leakage, and generic constraint violations score above 0.90.
Async pattern reasoning
JavaScript's async story (Promise chains, async/await, generators, streams) is a frequent task type. Raters fluent in unhandled-promise-rejection patterns and microtask ordering score well.
Browser vs Node distinction
Many tasks are intentionally ambiguous about runtime. Raters who note "this works in Node but not in browsers because X" or "this assumes Web APIs not available in Node" earn higher justification scores.
Common pitfalls
- Not flagging implicit type coercion. JavaScript's
==vs===still trips models. Don't let it slide. - Missing prototype-chain bugs. Class-based code can hide prototype mutations. Senior-tier raters catch these.
- Treating "works on my machine" as "works." Different Node versions, different browsers — flag environment dependencies explicitly.
Which platform to pick if you're a JS contractor
If you have:
- Strong React + production frontend experience: Mercor (highest senior rate)
- Strong Node backend experience: Outlier (best Node specialty pool)
- Performance / V8 expertise: Turing or Mercor (specialty premiums)
- Just starting: Outlier (fastest onboarding, broadest pool)
Bottom line
JavaScript is a solid mainstream choice with strong specialty paths. Senior tier with framework specialty (React, Node, async, performance) reaches $90–$120/hr — competitive with Rust, with much more consistent hours. The optimal setup: Outlier as primary for hours, Mercor as secondary for senior rate, plus one framework specialty calibrated within 90 days.