Skip to content

Graphics Engineer (WebGL / Shaders)

Fourthwall

PLN 24,000 – PLN 28,000 / per month

Remote (Poland / EU) Contract / freelance Engineering Remote position

About the Role

  • Team: Product Designer / Product Renderer
  • Stack: TypeScript, WebGL, GLSL, Three.js
  • Location: Remote (Poland / EU)

Creators design their merch in our Product Designer. Everything they see while doing it — how a print technique looks, how a garment recolors, whether the preview still runs at 60 fps on a laptop with integrated graphics — comes out of the rendering layer. That layer is what you would own.

You will not be handed a black box to maintain. You will write the shaders, decide the pass structure, and be the person who knows why a frame costs what it costs.

What you’ll work on

Shader pipeline and compositing

  • Writing and maintaining GLSL fragment shaders for specific print techniques
  • A layer stack much like a graphics editor’s: product mockup, user artwork, gloss / overlay
  • Compositing with premultiplied alpha (source-over), clipping to the printable region, packed RGB masks
  • Product colorway recolor (HSL / luma) that preserves the shadows, folds and fabric texture of the mockup photo

GPU image processing

  • Passes that process user artwork before it lands on the product: blur, Sobel, normal / bump maps, signed distance fields
  • Technique effects: engraving relief, die-cut outline and shadow, embroidery “threads”, gloss on print
  • Multi-pass algorithms (Jump Flood / distance fields) and their contract with the final shader

Performance and GPU resources

  • VRAM budget: reusing render targets and shader programs, LRU cache of product instances, disposing textures
  • Compositing resolution vs. export resolution — without degrading quality or leaking memory
  • WebGL context loss, browser context limits, bulk export of many variants at high resolution
  • Profiling: how many passes per frame, how many allocations, what happens on a color / view / product change

Image quality

  • Edge antialiasing (including SDF instead of 1-bit masks)
  • A consistent look between the live preview and the exported PNG
  • Snapshot / visual regression coverage wherever a shader changes how the product looks

We don’t expect you to know every print technique on day one. We expect you to think in GLSL, understand an image pipeline, and not treat the GPU as a black box.

What we’re looking for

Required

  • Image processing: color spaces (RGB / HSL / luma), alpha compositing, convolution filters (blur, Sobel), distance fields / SDF
  • GPU performance awareness: render targets, ping-pong, the cost of a state change, program / texture leaks, memory budgets
  • TypeScript, and hands-on work with Three.js or raw WebGL
  • The ability to debug an image — to look at a wrong frame and reason your way to the cause

Nice to have

  • PBR / matcap / normal mapping, screen-space lighting
  • Jump Flood, Gaussian / separable blur, mipmaps, MSAA vs. FXAA
  • Experience with preview engines (print, CAD, photo editors, game VFX)
  • Knowledge of browser constraints (context loss, preserveDrawingBuffer, WebGL context limits)

What the day looks like

  • A new print technique, or a fix to an existing one: first the layer and alpha contract, then the shader, then tuning uniforms
  • A change that should look “nicer” but must not double VRAM or kill 60 fps on integrated graphics
  • Working with the designer team (TypeScript / React) — you deliver the image engine, they build the product around it

Hiring process

  1. CV screening
  2. Screening call (~30 min) — the role, your background, questions both ways
  3. Paid take-home (4–6h, 500 PLN): Print Preview Compositor — a small browser app built from scratch on synthetic assets. No access to our code, assets or repository required. You get the full brief at this stage.
  4. Technical deep dive & team meeting (~90 min) — we walk through your take-home together, then you meet the team
  5. Offer

Compensation & setup

  • 24,000 – 28,000 PLN / month, B2B, depending on depth of graphics experience
  • Fully remote within Poland / EU, flexible hours with overlap for team work
  • MacBook provided
  • Private healthcare, sports card, English lessons
  • Equity in the US-based company

About Fourthwall

Fourthwall helps online creators (YouTubers, influencers, podcasters) make money, allowing them to focus on creating. We give them customized online shops for merchandise, donations and memberships, and we serve over 500,000 creators worldwide. The rendering layer you’d own is what those creators look at every time they design a product.

What to Expect

One-time stage payments

Completing a listed stage makes you eligible for its one-time payment. It is separate from the role's salary and is processed after you complete the stage.

  • Paid Take-Home: Print Preview Compositor 500.00 PLN

GitHub Account Required

You'll need a GitHub account for the code assignment stage

Time Commitment

~6 hours estimated / 7 days to complete

Live Interview

Includes a video interview with the team

Our Hiring Process

1

CV Screening

Submit Application

Send us your CV plus anything that shows shader or graphics work — a repo, a shadertoy, a demo, a write-up. A link beats a bullet point.

2

Paid Take-Home: Print Preview Compositor

Code Assignment

A paid 4–6h take-home you build from scratch on synthetic assets. 500 PLN paid on submission, regardless of outcome.

One-time stage payment · 500.00 PLN

3

Technical Deep Dive & Team Meeting (90 min)

Interview

We walk through your take-home together — pass architecture, trade-offs, what you'd do with another day — and you meet the team you'd work with.

4

Offer

Offer

We'll present you with an offer to join the team.

Apply Now

~2 minutes · your resume auto-fills the form

Required field

Resume / CV — we'll fill in your details
or fill in manually

By submitting this application, you agree that Fourthwall will process your personal data for evaluating your candidacy. Your resume may be parsed using AI-assisted tools.

Graphics Engineer (WebGL / Shaders)

Apply