Why We Give the Lab Away
The Lab is our portfolio, our test bench, and our honesty made public. It is also the only kind of portfolio that cannot lie, because you can open the developer tools on it.
On this page
The question comes in two tones. Polite: how do you find the time? Less polite: what's the catch? Both are asking the same thing — why a studio that bills by the project gives away a dozen browser games, a live satellite map, a museum you can paste links into, and an AI architect that quotes real money. There is a catch, and I would rather print it than let you guess at it. Three catches, in fact, and only the first is the sort of thing you would put in a deck.
As of this week the Lab holds twelve browser games — seven of them real-time 3D in WebGL, five hand-built Canvas 2D originals — plus three larger machines. Vaynerov Project Reliquary turns any URL into an exhibit hanging on a wall in a gallery it generates around you. Vaynerov Project Orrery pulls roughly sixteen thousand orbital element records from CelesTrak and propagates them in your browser, live. Vaynerov Project Blueprint reads a paragraph describing a product and draws the system that would build it, with a price attached. Two of those three shipped in one release alongside three new games — the biggest Lab day we have had.
- 12
- free games in the Lab
- 6
- languages, everything localized
- ~16k
- orbital element records fetched per cycle
- 0
- bytes of your museum on our servers
The Lab as of 16 July 2026. Every one of these is checkable from your own browser, which is rather the point.
Proof of work you can check yourself
Case studies are assertions. I have written my share and I know what they are worth: a client cannot verify a claim about a backend they will never see, under an NDA that guarantees they never see it. Screenshots prove a designer existed. Metrics quoted without a baseline prove someone had access to an analytics dashboard. The whole genre asks for trust up front, which is a peculiar thing to demand from a person who is about to hand you money.
A running thing asks for nothing. Open the Orrery on a phone you have owned for four years — either the satellite field holds its frame rate while you drag the planet around, or it does not, and no amount of copywriting changes the answer. Open the network panel in the Reliquary and watch what actually leaves your machine when you mount an exhibit: one parse request, and after that only image bytes moving through a proxy, because marketplace CDNs send no cross-origin headers and a WebGL texture needs them. The exhibit itself never comes back to us. It lives in your browser's storage, we keep no copy, and that is a claim about our ethics you can audit in about eleven seconds.
A case study is a claim. The Lab is a claim you can put a profiler on.
It is also the harder promise to counterfeit. Marketing copy has always been cheap to produce; this is the year it became free. A thing that holds sixty frames per second on a mid-range Android, in six languages, with the keyboard controls still working on an AZERTY layout, is expensive to produce and will stay that way.
The test bench under the toys
The second reason is less noble and considerably more useful. Everything the games share — the layer nobody sees — gets hardened on work where failure costs a visitor thirty seconds of fun, long before it goes near work where failure costs somebody their launch date.
- Quality tiers. A device lands in low, medium or high from pointer coarseness, core count, memory and screen size, with device-pixel-ratio capped at 1.25, 1.5 and 2. Written for the games; now it decides how the Orrery draws its satellite field and how the Reliquary uploads textures to the GPU.
- One mute key. A single storage key drives a master gain across every game in the Lab. Mute one, and the others are already quiet — the sort of rule you only think to write after a visitor has two of your tabs open at once.
- Physical keys, not letters. Movement bindings match on
e.code, the key's position, while mnemonics read the letter. That distinction is why the controls survive AZERTY and a Russian layout instead of quietly becoming unplayable in two of our six locales. - Constraints we chose to keep. No new npm dependencies, no binary assets, every loop and listener and audio context cleans up on unmount. We set those as Lab rules to keep the downloads small. They turned out to be the rules we wanted on paid work.
Some of it we found by being our own worst client. Entering a wing of the Reliquary used to fire twenty-odd image requests in the same tick and walk straight into our own proxy's rate limit — a small self-inflicted denial of service, on a free museum, with nobody's money in the room. The fix is a load-burst semaphore: four concurrent texture loads, sixty milliseconds apart. Trivial once you know it. The interesting question is where else you would have learned it, and most teams learn that one in production, from a customer, in a thread with an incident number attached.
None of it came out of a planning document. The device latch — which pins a game's device class at mount — exists so that resizing a desktop window mid-game cannot flip the class and swap a running game for the mobile lock screen, a failure mode you only discover by shipping enough games to trip it. The museum has no binary assets at all: the walls, the floor, the plaques, the gilt frames, even the lettering are drawn to canvas at runtime. That began as a download-size rule. What it bought was a building whose entire appearance is code, and therefore reviewable.
Practising what a thing is not
The third reason is the one I would defend hardest, and it is the one that sounds least like a business case.
The Orrery wears a small chip that reads visual-grade propagation. Behind that chip is a two-body propagator plus the J2 secular rates — the Earth's oblateness slowly dragging orbital planes around — and nothing else. No atmospheric drag, no resonance, no short-period terms. The comment above the math says it without flinching: faithful to the eye at the scale of a planet drawn 6.4 units tall, not to the meter. Never navigate with it. We could have left that out. Nobody watching satellites drift across a dark sphere was going to file a bug.
Blueprint has a mode most products would hide. With no model key configured it serves hand-written reference architectures behind staged progress — a demo, honestly. What it does not fake is the money: the demo estimate runs through the same deterministic calculator that powers our pricing page, on the same rules, so the numbers a visitor sees offline are the numbers /pricing would produce. In either mode the arithmetic sits outside the model's reach: it proposes selections from a fixed catalog, and the engine does the rest.
This is not modesty, and it is certainly not caution. It is rehearsal. The hardest sentence in this business is that will not do what you want, delivered early, to somebody who has already fallen in love with an idea. You get better at that sentence by saying smaller versions of it constantly, in public, about your own work, in the one setting where nobody's budget is on the line.
So — is the Lab marketing? Obviously. I am writing about it in the studio's journal. But the accounting only closes if the thing is real. A Lab built to look impressive rather than to be inspected falls apart on contact with the first engineer who opens a devtools panel, and engineers are very often the people evaluating us. The incentive and the ethic point the same way here, which is the most comfortable place a business can stand and rarer than it ought to be.
The other half of the answer is that I would build most of this anyway. Dressing a compulsion up as a strategy would be its own small dishonesty, and honesty is the product.