Nullspace is a website that does nothing, as hard as it can.
Built with canvas, WebGL2, and WebAudio. No libraries, no fonts, no network requests. Respects reduced motion, and the Design Lab feature keeps text readable at every setting. Every line of code is original, and nothing is loaded from anywhere else.
But what does that even mean?
It means that the website was built completely from scratch using only raw, built-in browser technologies. You may think ‘oh that’s pretty mundane…’ but the more you delve into it the more you understand why this website is a badge of honor among web developers. It simply means the creator wrote pure, vanilla JavaScript without relying on any external code, frameworks, or assets.
Here is a breakdown in dot-points (so you have room to gasp in between points):
- Canvas: A HTML element used to draw 2D graphics, animations, or game visuals directly on the screen using JavaScript. Which means every graphic you see is not a JPEG or PNG or any image file, it is just pure code… (small gasp)
- WebGL2 (Web Graphics Library): A JavaScript API that allows the browser to render high-performance, hardware-accelerated 3D and 2D graphics without plugins. It talks directly to your device’s graphics card (GPU). Which means there is no external viewport just plugged into the website. The 3D is real, it is in the screen, it is code… (a slightly bigger gasp)
- WebAudio: A powerful browser API for controlling, manipulating, and generating audio. Instead of just playing an audio file, it allows the developer to synthesize sounds, add effects, and create dynamic audio entirely through code. Yes, you read that right, there is no audio file in the website, no .MP4 or .WAV file, none, it is code… (bigger gasp)
- No libraries: The creator didn’t use pre-made frameworks like Three.js, React, or jQuery. Every single line of logic, physics, and rendering engine code was written by hand. Yes, you read that right again, can you imagine… no Three.js, no React (even bigger gasp)
- No fonts: Standard font files (.ttf, .woff) weren’t loaded. Any text you see on the screen is likely drawn manually pixel-by-pixel or vector-by-vector using code vectors on the canvas. Seriosly, how manu times will we gasp?!
- No network requests: Once the initial HTML/JS page loads, the project never talks to a server again. It doesn’t fetch images, sound effects, or data. Everything from textures, music, and levels is generated mathematically inside the code (a technique called procedural generation), (let’s take a breather now…please)
- Respects reduced motion: It means the creator has programmed the website to automatically detect if you have a systemic sensitivity to moving visuals and turns off or scales down intense animations, screen shakes, or flashing effects. Adding this constraint alongside everything else shows that the creator is not just showing off technical skill, but also prioritising digital accessibility so everyone can enjoy their work safely. (seriously, who is this guy/girl?)
- The Extreme: Finding a website built like this is extremely rare, probably fewer than 0.001% of active websites on the internet are built under these specific constraints. Modern web development relies heavily on frameworks (like React or Three.js) because they save time. Building a 3D environment in raw WebGL2 requires writing complex math formulas (matrix math, custom shaders) just to get a single triangle to render on the screen. Usually, a web creator just drops in a .png for an image or a .mp3 for a sound. Doing it with no network requests means they have to write code that mathematically synthesizes audio frequencies (WebAudio) and procedurally generates textures out of math equations. Developers who build hyper-optimized raw graphic demos are usually focused entirely on squeezing out performance. It is doubly rare for a developer to have both the math skills required for vanilla WebGL, and the thorough awareness of digital accessibility required to properly build and test a prefers-reduced-motion override.
So who’s actually gone and done this madness of a website??!!
I think you know the answer 😉
