3D Full-Stack Software Engineer — Three.js / Angular / Node.js
Builds interactive browser-based 3D tools for a digital orthodontics platform — Three.js/WebGL viewers and mesh viewing, editing, and planning features in Angular and TypeScript — with secondary Node.js/Express full-stack work and heavy focus on optimizing performance for large clinical scan meshes.
- Compensation
- Not disclosed
- Location
- Not listed
- Work setup
- Remote
- Seniority
- Not specified
- Employment
- Not specified
- Experience
- Not specified
- Category
- Fullstack
- Posted
Skills
Must have
- Demonstrable experience building interactive web applications (commercial work, open-source, or substantial personal projects)
- Strong modern JavaScript and TypeScript
- Productive with Angular (components, services, DI, forms, routing, state)
- Experience with RxJS or comparable reactive/asynchronous state management
- Experience with Three.js or comparable WebGL engine; scenes, cameras, renderers, lights, meshes, materials, render loops
- Experience with BufferGeometry, vertex attributes, index buffers, normals, typed arrays, binary mesh data
- 3D mathematics: vectors, transformation matrices, coordinate systems, rotations, quaternions
- Interactive 3D behavior: raycasting, picking, dragging, camera controls, object transformations
- Triangle meshes, bounding boxes, spatial acceleration structures, collision/proximity checks
- Work with 3D formats such as STL; model loading, coordinate systems, units, normals
- Profile and optimize browser rendering, CPU, GPU, and memory for large meshes
- Web Workers, ArrayBuffer, transferable objects for off-main-thread work
- Comfortable building and consuming REST APIs
- Experience with Node.js and Express or comparable backend stack
- File uploads, asynchronous jobs, workflow state, authentication, validation, error handling
- Unit, API/integration, and end-to-end testing
- Git workflows, pull requests, code review, collaborative development
- Ownership of AI-generated code: reviewing, testing, debugging, validating before delivery
Nice to have
- three-mesh-bvh or similar BVH/AABB acceleration; mesh collision, proximity, closest-point queries
- Mesh editing, contour manipulation, cutting planes, CAD/3D-viewer tooling; undo/redo and scene serialization
- GLSL, custom shaders, render targets, GPU-based calculations
- glTF/GLB, Draco compression, or other compressed 3D formats
- Voxel grids, octrees, signed distance fields, spatial indexing
- Integrating JavaScript with C++, WebAssembly, or native geometry-processing services
- SQLite, PostgreSQL, DynamoDB persistence; AWS S3, SQS, presigned uploads
- Docker and containerized local development
- Karma/Jasmine, Node test runner, and Playwright
- Experience in medtech, healthcare, orthodontics, CAD, scientific visualization, or 3D printing
- Familiarity with AI-assisted development tools (Cursor, Claude Code, Codex)
- Strong React or Vue experience considered if paired with substantial browser-3D expertise and quick Angular ramp-up
Full description
We are building a digital orthodontics platform with interactive browser-based 3D tools.
This role is primarily focused on frontend and 3D development with TypeScript, Angular, Three.js, and WebGL, with Node.js full-stack development as a secondary responsibility. You will build interactive tools for viewing, editing, and working with complex 3D models directly in the browser.
You Are
A software engineer with demonstrable experience building interactive web applications through commercial work, substantial personal projects, open-source contributions, or similar production-quality work.
Strong in modern JavaScript and TypeScript.
Able to work productively with Angular, including components, services, dependency injection, forms, routing, and application state.
Experienced with RxJS or comparable reactive and asynchronous state-management patterns.
Experienced with Three.js or a comparable WebGL-based engine, and ready to work directly with Three.js.
Comfortable working with scenes, cameras, renderers, lights, meshes, materials, and render loops.
Experienced with BufferGeometry, vertex attributes, index buffers, normals, typed arrays, and binary mesh data.
Comfortable with 3D mathematics, including vectors, transformation matrices, local and world coordinate systems, rotations, and quaternions.
Able to implement interactive 3D behavior such as raycasting, object picking, dragging, surface-constrained movement, camera controls, and object transformations.
Familiar with triangle meshes, bounding boxes, spatial acceleration structures, collision or proximity checks, and common mesh edge cases.
Able to work with 3D formats such as STL and understand model loading, coordinate systems, units, normals, and transformations.
Able to profile and optimize browser rendering, CPU usage, GPU resources, and memory when working with large meshes.
Familiar with Web Workers, ArrayBuffer, transferable objects, or other approaches for keeping expensive work off the main UI thread.
Comfortable building and consuming REST APIs.
Experienced with Node.js and Express, or a comparable backend stack.
Familiar with file uploads, asynchronous jobs, persistent workflow state, authentication, validation, and error handling.
Able to write unit, API/integration, and end-to-end tests.
Familiar with Git workflows, pull requests, code review, and collaborative development.
Comfortable taking ownership of AI-generated code by reviewing, testing, debugging, and validating it before delivery.
Angular experience is strongly preferred. Candidates with strong React or Vue experience may also be considered if they have substantial browser-3D expertise and can become productive in Angular quickly.