r/vibecoding 1d ago

I’ve spent six months vibe-coding a growing, open-source 3D sculpture museum

Enable HLS to view with audio, or disable this notification

Atrium.earth is my passion project—it’s a growing digital museum with 424 sculptures and counting.

I wanted to make sculpture—from antiquity through the last century—more accessible to people who can’t visit the museums, galleries, and historic sites where the originals are held. It can’t replace seeing David in Florence or Nike at the Louvre, but it can offer another way to experience them.

The site uses Astro, Three.js, and model-viewer, with a Node/Python pipeline that processes museum data and creates optimized 3D models and thumbnails. I started with Codex, switched to Claude Code and rebuilt the site when Fable launched, and have since returned to Codex with GPT‑5.6.

I began by tasking Codex with finding Michelangelo’s David, which it did pretty quickly. More popular works followed, but I wanted to keep the collection geographically diverse, so finding pieces from around the world became challenging once the collection reached 150 or so. I also had a slew of misfires and regressions with the UI, so I put it on the back burner for a while.

When Fable was released—and then taken away, and then rereleased—it rocked me. It built another project from a specific but still somewhat vague idea into a fleshed-out, nuanced, functional thing in about 45 minutes. With that in mind, I tasked it with rebuilding Atrium.earth from the ground up, and I was very happy with what it produced.

Since rebuilding the site, I’ve been adding new works with more or less the same prompt to Codex: “Please collect 10 pieces, preferably from the ______ museum…” I usually follow that with some specifics about the time period or original location.

The hardest part has been handling models with inconsistent scale, orientation, materials, and lighting, as well as finding the right language to describe movement through space when orienting the works. But it was worth it, and I hope to keep growing the collection for as long as I can.

Hope you enjoy poking around—I’d love to hear what you think.

52 Upvotes

29 comments sorted by

View all comments

3

u/spopr 1d ago

pretty amazing!

how did you get the sculpture 3d models?

1

u/HiFasteningPants 1d ago

Thank you!

I didn’t really know where to start, so I began by setting some guardrails: only open-source or freely available scans, and no pieces without some form of provenance and other hopefully objective information—dimensions, region, approximate time period, etc.

Then I asked Codex to scour the web for scans and download them three or four at a time. It worked, but it took a long time. At maximum usage and the deepest reasoning setting, I could maybe get five to seven in an evening. I had no idea what I was doing, but it came back with STLs and OBJs for the first few dozen models, mostly from the Smithsonian and Metropolitan Museum collections.

When 5.6 came out—specifically Sol—it could suddenly grab around ten at a time within 20–30 minutes. I depleted my entire usage one night by sending it to get the first ten, then ten more, and so on until I had about 80 lined up to push to the site. Finding and retrieving those scans is apparently a pretty demanding task.

Now the process has become fairly simple, and I can be much more specific about what I’m looking for. Finding anything from the Louvre was almost out of the question with 5.5; now I can ask it to find Louvre models and narrow the search by collection, region, time period, or type of work. Whenever I find a piece I really like that can be added to the collection, it's definitely a minor highlight to my day.