RepoVerse – turning a GitHub repo into a navigable 3D city

I built RepoVerse it scans any public GitHub repo and generates a
navigable 3D city from it. Folders become districts, files become
buildings, and git history drives how each building looks.

Live: https://repoverse.online
(the landing page loads a pre-scanned city, so you can look before typing anything)

A few things that were interesting to solve:

Layout. A squarified treemap subdivides each folder into lots, then
lots into building footprints. Everything is seeded from a hash of the
repo name + path, so the same repository always regenerates exactly the
same city no Math.random() anywhere in the generator.

Windows. Instead of textures, windows are generated per-fragment in
an onBeforeCompile injection on MeshStandardMaterial. The grid is
derived from the per-instance scale rather than UVs, because the shared
geometry is a unit cube scaled per building raw UVs stretched windows
into smears on wide blocks. Lit fraction comes from a per-instance
attribute driven by the file’s symbol count, so a densely populated file
literally has more lights on.

Scale. Everything is instanced buildings, cars, pedestrians, lamps,
trees. A 1140-file repo (fastapi) renders as a single InstancedMesh per
category. Post-processing is N8AO + Bloom + SMAA.

Time. Git history is fetched with a blobless clone
(--filter=blob:none --no-checkout) in parallel with the tarball, so
files touched this week get construction cranes and files nobody has
touched in a year get weathered grey.

Stack: React Three Fiber, drei, postprocessing, Next.js, FastAPI.

Feedback very welcome especially on the lighting and whether the
density reads well at large repo sizes. That’s the part I’m least sure about.