Hero and scroll experiences
The 3D piece that carries the page, tied to scroll without fighting the browser for it.
For agencies
Agencies hire me when a project needs someone who has shipped production Three.js many times and can hand the result to a frontend team without a support tail. Senior, white-label, scoped in writing.

How I work with agencies
Your brand on the work. I stay invisible unless you want me on a call.
Written scope and acceptance criteria before I start.
Handover documentation the next developer can use.
NDA and subcontractor agreement on request.
I say "no" or "wait" when that is the right answer.

Peter Csipkay
Creative frontend developer and creator of Three.js Resources
Runs
threejsresources.com, read by 200,000+ visits a month.
Author of
The TSL and WebGPU course and the GLSL to TSL converter.
Based in
Near Munich, on CET. Agencies across Europe and North America.
The work agencies bring me falls into six shapes. Any of them can be a component dropped into a site you are already building, rather than a separate project with its own deployment.
The 3D piece that carries the page, tied to scroll without fighting the browser for it.
A model the visitor can turn, at a weight a phone will actually load.
Datasets rendered on the GPU so they stay explorable past the point a flat chart gives up.
Immersive sessions in the browser, with the non-headset fallback treated as the main path.
Moving an existing scene to WebGPURenderer and TSL, with the WebGL fallback intact.
Dropping 3D into an existing React, Next.js or Astro app without destabilising it.
Most frontend developers can render a cube. The tutorial is an afternoon and the result looks convincing on a desktop with a discrete GPU.
Production 3D fails somewhere else: mobile performance, asset pipelines, GPU memory, and browser fallbacks. A scene that runs at 120 fps on the developer's laptop reloads the tab on a three-year-old Android, and finding out why is not a frontend skill. That is where projects stall two weeks before delivery, and it is where a specialist pays for himself.

Handover standard
The point of the handover is that you never have to call me again unless you want to. A subcontractor who leaves a support tail behind has not finished the job, they have moved it.
Everything below ships with the code, written for the developer who inherits it rather than for the person who signed the contract.
Delivered with every build:
White-label work is covered by the arrangement that makes it useful: the client sees your brand, not mine, so I do not publish the builds.
In the meantime, the work I can point at publicly is the writing and the tooling: the TSL and WebGPU course, the GLSL to TSL converter, and threejsresources.com itself. All of it is built with the same stack I would use on your project.
F.A.Q
What agencies ask before handing over a build.
Where the work lives and who owns it.
Yours if you have one, mine if that is easier at the start and transferred when the work lands. Either way you get full history rather than a zip file at the end.
You do, on final payment. I keep no licence over the delivered work and I do not reuse client-specific code on other projects.
That is what the handover standard is for. A README, a documented component API, the performance budget with measured numbers, and the asset pipeline notes. If your frontend team can read React, they can maintain the result.
How the work is priced and what I use.
Both, after scoping. Fixed price suits a defined build, a day rate suits open-ended work like a migration where the shape becomes clear as you go. The quote is sent to you privately once the scope is written.
Yes to both, plus vanilla Three.js. The choice follows the stack the agency already runs rather than my preference, because you are the one maintaining it afterwards.
Get in touch
Tell me what the project is and what is blocking it. I reply within one working day.
Get In Touch
Tell me what you're trying to build, big or small. I'll reply personally within 24 hours, usually same day.

Peter Csipkay
Creative Frontend Developer
Let's connect
Three.js developer and creator of threejsresources.com. I scope, build, and ship the work myself — no middlemen, no handoffs.
Based in
Munich, Germany