Writing down (and searching through) every UUID · eieio.games
Building a website to browse all 5+ quintillion UUIDs required solving three impossible problems: virtual scrolling with BigInt positions, bijective scrambling via Feistel ciphers, and pattern-based search—all without storing a single UUID.
Read Original Summary used for search
TLDR
• Browsers can't handle trillion-pixel pages, so the author implemented custom scrolling with BigInt positions and manually re-created all scroll behaviors (hotkeys, animations, touch events)
• Used Feistel ciphers to scramble UUID order while preserving bijectivity—the key insight: if you can reverse your transformation steps, you guarantee every UUID appears exactly once
• Search works by analyzing input strings to determine valid UUID positions, generating candidates that match the pattern, then finding the closest one to current position
• Mapping 122 bits of entropy onto UUID v4 format (with reserved version/variant bits) required painful bit twiddling that LLMs struggled with
• The project demonstrates how mathematical properties (reversibility, bijectivity) enable interfaces for impossibly large datasets
In Detail
The author built everyuuid.com to display all 5,316,911,983,139,663,491,615,228,241,121,378,304 possible UUIDs in a browsable interface. This required solving three core technical challenges without storing any UUIDs.
First, rendering: browsers have maximum scroll positions far too small for this dataset. The solution was custom virtual scrolling—fixing page height, storing scroll position as a BigInt, and manually re-implementing all scroll behaviors (mouse wheel, touch, hotkeys, animations, scrollbars). This was tedious but straightforward, though LLMs helped generate the boilerplate.
Second, ordering: displaying UUIDs sequentially (00000000... to ffffffff...) is boring. The author wanted random-looking but consistent ordering where every UUID appears exactly once. After exploring Linear Congruential Generators, they discovered Feistel ciphers—reversible scrambling functions that preserve bijectivity. The key insight: as long as you can reverse your transformation, you guarantee no duplicates. Feistel ciphers work by splitting input into chunks, running rounds of XOR operations with a round function, and are reversible for any pure round function. Mapping the scrambled 122 bits onto UUID v4 format (with reserved version/variant bits) required careful bit manipulation that proved difficult for both the author and LLMs.
Third, search: you can't search all UUIDs, but you can analyze search strings to determine valid positions in UUID format (accounting for dashes, version bits, variant bits), generate candidates matching that pattern, then find the closest one. While not perfect, this enables cycling through large sets of matching UUIDs. The author wanted to use cryptanalysis to reverse-engineer which input bits produce desired output patterns but punted on this for the MVP.
The project demonstrates how mathematical properties (reversibility, bijectivity) enable building interfaces for impossibly large datasets by reasoning about transformations rather than brute-forcing storage or computation.