Portland, Oregon · Old Town
The job
GHOST is a professional creative tool for footwear designers: sketch to production-ready 3D on one canvas, with an AI apprentice that learns their taste. It runs in the browser, on Mac and Windows desktops, and on iPad with Apple Pencil.
You will be the technical owner of its front end: the architecture of a large React + TypeScript app, the 2D sketching canvas and the three.js / React Three Fiber layer underneath the 3D studio, and the performance and input feel on every device a designer uses. You will write a lot of the code, set the bar for the rest, and shape what gets built with our designers, not just how.
What you will own
- Architecture. State, data-flow, rendering and caching patterns that scale with an infinite canvas, 2D/3D studios, real-time collaboration and streaming AI generation. Standards, reviews, and the calls that keep a small team fast and safe.
- Performance on every device. Frame time, input latency, memory, bundle and load time. You know where front ends break: the frame budget, GPU drivers, Safari's memory ceiling on iPad, trackpad pinch vs. wheel zoom, a Pencil stroke vs. a finger. Budgets and monitoring so regressions are caught before designers feel them.
- The 2D canvas. An infinite canvas designers draw on all day: the stroke pipeline (pressure, tilt, smoothing, coalesced and predicted pointer events, palm rejection), raster and vector layers, generated-image layers, selection and transform, hit-testing, undo/redo, and memory on image-heavy boards. You choose and own the 2D renderer (Canvas2D vs. a WebGL-backed 2D engine) and make it feel like a professional drawing tool.
- The 3D studio. three.js / React Three Fiber / WebGL today with a view on WebGPU; GPU and driver variation (Apple Silicon vs. integrated and discrete Windows GPUs, ANGLE/D3D vs. Metal, context loss, precision and shader quirks, high-DPI rendering); asset streaming and compression (e.g. meshoptimizer/Draco); the bridge between the 2D sketch and the 3D model.
- Product judgment. Define flows and interaction models with design, prototype in code, test with real designers. A craftsperson's eye for motion, states and latency perception. When a feature needs an API, a schema change or a new service in our Django/Python backend, you build that too.
How we build
Coding agents are part of our development cycle. You work with them as a core part of your loop, you write the specs, repo conventions and tests that let an agent do good work, and you know when its output is wrong. You lead through technical clarity, written rationale and mentorship, and you raise the testing and observability bar for the team.
You have
- Led front-end architecture on a product shipped at scale, and you still ship code every week. Typically 8+ years building production software, or a track record that makes the number irrelevant.
- Expert React and TypeScript, with a deep understanding of the browser rendering pipeline, the event loop, memory and performance profiling.
- Built complex, long-lived interactive applications: editors, canvases, design or CAD tools, visualization, or real-time collaborative apps.
- Real product and UX judgment, shown in shipped work where you influenced what was built, not just how.
You are deep in at least two of these three
- Canvas or 3D rendering: a 2D drawing or editing engine (infinite canvas, stroke rendering, raster/vector layers) or WebGL, three.js / R3F, WebGPU, shaders, a game engine, 3D viewers or CAD tooling.