Front-End Developer (React.JS & Three.js)
Job Title: JavaScript Front-End Developer
Location: Hoboken, NJ (remote)
Mandatory skill: React. JS (19), Three.jsJob Description: Front-end engineering (the foundation — non-negotiable):Deep, senior-level React (React 19 / modern React): the render model, hooks discipline, memoization, effect timing, and a real feel for where re-renders and stale closures come from — which matter acutely in an app running a physics loop every frame. Three.js and React Three Fiber in production. Real command of the scene graph, geometry and materials, the use Frame render loop, and disposal / memory management (WebGL leaks are a real hazard). This is the heart of the role and the skill we weight most heavily — React experience without R3F is not a substitute. Real-time performance discipline. You think in frame budgets, know what drives GPU vs CPU cost, can profile a render loop, and habitually design for the weakest target device. State management at scale with Zustand (or clearly transferable experience), keeping a growing state model coherent rather than tangled. Accessibility as a first-class skill — keyboard navigation, focus management, ARIA, WCAG AA, screen-reader testing. For an education product this is a core requirement and a procurement gate, not an afterthought. TypeScript, testing, and modern tooling — TypeScript fluency, Vite, a real testing discipline (we favor testing real behavior over mocks), and the judgment to set the quality bar for others.
Responsibilities:
- Build and own complex React Three Fiber features: interactive 3D equipment, a selection-driven action system, real-time visual effects, and the UI around them.
- Keep the app fast on low-end hardware — profile and tune the render loop, manage GPU/CPU cost, and hold a frame budget on Chromebook-class devices.
- Keep application state coherent as it grows (simulation state, equipment state, an event log used for assessment, and UI state) using Zustand.
- Make accessibility real: full keyboard operation, focus management, ARIA, and screen-reader support are core requirements here, not polish.
- Direct Claude Code effectively — decompose work into well-specified, agent-sized tasks, review the output with a senior eye, and know when to write something by hand instead.
- Help maintain the conventions, CLAUDE.md guidance, and repo structure that keep AI-generated code consistent and safe.
- Collaborate with our 3D technical artist to integrate assets and shaders cleanly.