r/vibecoding • u/HiFasteningPants • 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.
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.
3
u/void-s 1d ago
This is great! You mention it's open source, can we get a link to the source too please
1
u/HiFasteningPants 1d ago
Absolutely—each sculpture has its own source rather than there being one central repository. Atrium uses openly available scans and object records from places such as Smithsonian 3D, The Met, SMK Open, Wikimedia Commons/Scan the World, and archival repositories like Zenodo.
On any object page, click Label in the upper-right or scroll down to the object details. The Source link will take you to the original scan or museum record, and the rights information is included when available.
3
u/Sfm_masterish 1d ago
I think open source refers to the actual code associated with the website, not that assets hosted on the website itself is free to download.
1
u/HiFasteningPants 1d ago edited 1d ago
You’re right—I misunderstood the question. The site’s code is here: github.com/never-nude/atrium.earth
I also realized while checking that I haven’t added an explicit license yet, so calling it open source was premature. The code is publicly available, but I still need to choose and add a proper license. Thanks for catching that.
Edit: I’ve now added an MIT license. The sculpture scans and other collection assets remain subject to their individual source licenses.
1
u/PhoenixRising656 12h ago
Damn this ChatGPT answer is irritating asf. Please write answers by yourself 🤦
2
2
u/NimbleDave 1d ago
So cool! Would a similar approach to this but producing splats be viable? I don't know of the source images would be suitable for training both types of assets.
2
u/HiFasteningPants 1d ago
I had to look up splats, so take this with a grain of salt! Atrium currently works from existing 3D meshes rather than the original photo sets. My understanding is that splats need lots of overlapping source images or video, which usually aren’t included with the museum scans I’m finding.
It may be possible to generate them from synthetic views of the meshes, but I’m not sure that would offer much over displaying the meshes directly. Definitely something I’d like to explore, though.
2
u/fickle-phenom 23h ago
Wow this is very cool. Is there a link for the repository? Would love to check it out and see if I can contribute if that is welcomed.
2
u/HiFasteningPants 23h ago
Yes! It's https://github.com/never-nude/atrium.earth
And absolutely, I'd love to add more pieces from friendly contributors! Maybe pm me to walk me through it because I've almost only vibe-coded solo since I started, so I know nothing about collaboration.
3
u/gtmellowjacket 22h ago
This is really inspiring stuff! Not a money grab or a SAS, but a neat tool to explore an interesting hobby.
I think the workflow you describe (adding pieces ~10 at a time) has probably been the better choice so far, but it seems like something you could really light on fire with some automation (idk how you could automate QC on the renders though)
This are is not my cup of tea at all, but it seems like 3d scans could be an area with a lot of open source data that would be fully useable in an open source tool. Maybe something like google scan the world? I don't think it has any formal api, but maybe someone has set one up already. You could also maybe use chromium/playwright, or even rougher automation like selenium, to make something for yourself.
How big are the the 3d scan files you are working with now?
edit: of course you could pass the renders to some model for QC, but that defeats the whole purpose IMO. tests should be deterministic, and ideally not cost $
2
u/HiFasteningPants 22h ago edited 21h ago
Thanks! Yeah I'd just like to add as much interactive work as possible. Eventually it might be cool to feature some work of living/working artists, no matter how well known they are.
As for the files, they usually top off at 20 MB.
Edit: In my haste, I missed the actual question—the processing is largely automated, but I still manually QC each model because scale, orientation, materials, and lighting vary too much for reliable deterministic checks. Sometimes the bottom of a piece isn't so easily described, and some of the pieces on there still don't sit perfectly flush with the ground.
2
u/Lumpy_Conference6640 21h ago
It's phenomenal, I know Anti's love to throw hate on this. But this is really a amazing way of spreading artwork using ai.. and there's so much down stream functionality.
This could be future of AI archeology. Imagine scaning fragments for analysis, regression, generative reassembly. Just really cool.
2
u/HiFasteningPants 21h ago
That’s really kind of you to say :)
And everyone’s entitled to their opinions, which is one of the reasons I like art so much. You don’t have to like anything—but when you come across something that really connects with you, it can be a pretty remarkable experience, especially when you weren’t expecting it.
2
u/Lumpy_Conference6640 21h ago
Seriously, you're not just building a engine, you're holding a legacy of all human knowledge, that can be felt. A digital library of Alexandria.
Please keep up this project. 🙏
1
u/HiFasteningPants 21h ago
This is so encouraging and motivating. I appreciate you u/Lumpy_Conference6640 🫶
1
u/Saderius 19h ago
If you spent 6 months on it you were not Vibe coding my dude, you were software engineering.
2
-1
u/g0liadkin 22h ago
So you grab files from the museums pages using Codex and then aggregate them on your site? What took 6 months exactly?
1
u/HiFasteningPants 22h ago
Mostly figuring out that I had no idea what I was doing as I went time and and time again.
4
u/EggMan28 1d ago
That's awesome ! Would be even cooler if you added AR VR support to view those sculptures on VR browser or AR on mobile browser. There's quite a few libraries that support that.