NVU NICK VAN URK Open to work

Netherlands · Real-time 3D · ~8 years in the browser

3D WEB ENGINEER.

Nick van Urk

I build interactive 3D applications for the web—from geospatial visualization and digital twins to CAD viewers and multiplayer games. I specialize in performance and scalability—keeping things fast and responsive, even with large scenes and real-time data.

Professional

Engineering for industry — game engines, geospatial tools and digital twins.

Dubai, UAE · remote · 2025–26

SPARQ Worlds

Physics & multiplayer netcode

Core systems on a C++ game engine. Built the physics stack on PhysX — rigid bodies, raycasting, vehicle & character controllers — and the multiplayer netcode: server-authoritative replication, client prediction & rollback, entity interpolation, and an adaptive input buffer that keeps the server fed with client inputs under varying network conditions.

  • C++
  • PhysX
  • Netcode
  • ECS
Vancouver, CA · remote · 2024–25

Mod Studio

2D → 3D engine conversion

Took Moddio — a browser-based multiplayer game engine — from 2D to full 3D. Started with a Three.js rendering layer, then worked down into the engine internals and swapped its physics core out for Rapier. Once the 3D foundation shipped, I moved to hardening it — bug-fixing and improving performance.

  • TypeScript
  • Three.js
  • WebGL
  • Rapier
Rotterdam, NL · 2023

Sweco

3D geospatial visualization

Browser software that lets municipalities explore their outdoor-space and terrain data in 3D — building footprints, roads, water and dunes placed at their real-world heights in a Three.js scene, over an OpenLayers map. Dutch RD coordinates are reprojected with proj4, and clicking any object shows what it is.

  • TypeScript
  • Three.js
  • OpenLayers
  • proj4
  • GIS
Drachten, NL · 2021–22

Philips

Robotics digital twin

A Godot 3D digital twin for tabletop industrial robots, synced bidirectionally with the real hardware over a Python TCP server. Engineers build and run motion programs through a visual, node-based interface — sequencing moves and setting arm positions in real-world units — so operating the robot needs no specialist training.

  • Godot
  • Python
  • Digital Twin
  • Robotics

Games

Shipped & in-progress real-time multiplayer titles running in the browser — all built solo.

Mechacraft cover: a machine built from blocks and wheels driving through a 3D physics world. Live on CrazyGames

Featured project

Mechacraft

A browser-based machine-building sandbox inspired by Scrap Mechanic. Snap parts together into vehicles and machines, then drive them through a real physics simulation.

The engineering is mostly in the physics — custom raycast vehicles with suspension and steering, plus buoyancy and aerodynamics so machines can float and fly. Rendering stays fast on large builds through instancing and a BVH, and the whole thing runs in real-time multiplayer. Built solo and shipped on CrazyGames.

  • ~84klines of source
  • 1,207commits
  • Liveon CrazyGames
  • TypeScript
  • Three.js
  • Rapier
  • Vite
  • Deno
  • SQLite
Voidfall: a spacecraft chasing a target through an asteroid field with a HUD reticle.

Voidfall

Six-axis flight on Rapier physics — crosshair-convergent guns, firing-lead indicators, minable asteroid fields, an XP/vendor economy. The netcode is the point: a 60 Hz sim streamed as bit-packed, quantized 20 Hz snapshots with per-viewer interest management, a bandwidth-budgeted priority accumulator, and dead-reckoning plus error-smoothing that keep remote ships fluid under latency.

  • 137★
  • ~24kLOC
  • 563commits
  • TypeScript
  • Three.js
  • Rapier
  • WebSockets
  • Node
Everwilds: a character in a 3D world with nameplates and an MMORPG-style interface.

Everwilds

A WoW-style browser MMORPG built as a netcode reference: an authoritative 20 Hz ECS server replicates movement as input flags, and clients dead-reckon remote players forward, error-correcting toward server truth. Distance-based interest management scopes each client's updates to nearby entities — over combat, spells, leveling, threat-based AI, nameplates and chat.

  • 89★
  • ~47kLOC
  • 467commits
  • TypeScript
  • Deno
  • Three.js
  • WebSockets
  • ECS
Evergate: a first-person view speed-running across jump platforms with a speed HUD.

Evergate

Quake-style strafe-jumping and bunny-hopping across hand-built obstacle courses, tracked by a live speed HUD, run timers and checkpoint leaderboards. It rides on a from-scratch netcode stack — client prediction, server-authoritative rollback reconciliation and an adaptive jitter buffer — plus custom GJK/EPA collision and an in-browser level editor.

  • Prototype
  • TypeScript
  • Three.js
  • Deno
  • WebSockets
  • Hono

Graphics & Algorithms

Research-paper implementations, live in WebGL.

CDLOD Terrain

Continuous distance-dependent level of detail: a frustum-culled quadtree picks patches each frame and one instanced grid mesh morphs between LOD rings in the vertex shader — crisp underfoot, cheap on the horizon, no popping. The terrain itself is analytic GLSL noise (simplex fBm + ridged multifractal), so there's no heightmap to stream or alias against.

  • Three.js
  • GLSL
  • Quadtree
  • Instancing

Solid-Geometry Capping

Clips a solid triangle mesh against a horizontal section plane, stitches the triangle-plane intersection segments into closed contours, then ear-clips them to rebuild the cut face. Three.js hardware clipping drives the live cutaway; a CPU retriangulation pass fills the cap — the geometry behind section cuts in CAD and BIM viewers.

  • Three.js
  • WebGL
  • TypeScript
  • Ear clipping

Spatial Partitioning

Keeping real-time simulations fast as they scale — rather than every agent testing every other (O(n²)), an octree limits each neighbour query to nearby cells. Demonstrated with a 400-boid flocking sim, its octree cells drawn as a toggleable wireframe.

  • Three.js
  • Octree
  • Boids
  • TypeScript

About

I've spent the last eight years building interactive 3D software for the web, from geospatial visualization and digital twins to multiplayer games and custom game engines.

I enjoy building the technology behind interactive 3D software—from rendering and geometry processing to physics, networking, and spatial data visualization. Whether it's a CAD viewer, digital twin, GIS application, multiplayer game, or game engine, my goal is the same: software that stays fast, responsive, and scalable.

Stack

  • TypeScript
  • JavaScript
  • Three.js
  • WebGL
  • GLSL
  • Rapier
  • PhysX
  • WebSockets
  • Node
  • Deno
  • Vite
  • SQLite
  • OpenLayers
  • Godot
  • Python
  • C++

Experience

  1. 2025–26Engine Programmer — SPARQ WorldsDubai, UAE · remote
  2. 2024–25Engine Programmer — Mod StudioVancouver, CA · remote
  3. 2023Software Engineer, Intern — SwecoRotterdam, NL
  4. 2021–22Software Engineer, Intern — PhilipsDrachten, NL
  5. 2019–21Software Engineer — YobbersReal-time chat platform; lifted the site's performance score 56 → 94.
  6. 2023BSc Computer Science — NHL Stenden UniversityNetherlands

Get in touch