Inspiration
In the mid-1990s, VRML (Virtual Reality Modeling Language) promised to transform the web into an immersive 3D experience. It was the metaverse before the metaverse had a name. But clunky plugins, slow modems, and browser fragmentation killed the dream before it could flourish.
Thousands of .wrl files still exist across the web—from university research to virtual art galleries—frozen in digital amber and completely inaccessible to modern browsers. As someone with 20+ years in VR/AR at Meta, I wanted to resurrect that vision using today's WebXR technology.
What it does
VRML Reborn converts legacy VRML 1.0/2.0 files into modern WebXR experiences. Upload a .wrl file, and it instantly renders in your browser with support for complex 3D geometry (IndexedFaceSet meshes), advanced materials (transparency, emissive colors), and one-click VR mode for headset viewing. Includes a Halloween graveyard demo with 35+ objects showcasing the parser's capabilities.
How I built it
Built entirely in Kiro using all four major features: spec-driven development for the complex VRML parser, steering docs to handle 1990s syntax quirks, vibe coding for rapid UI iteration, and agent hooks to automate testing. Vite + React + TypeScript + A-Frame for WebXR rendering. Deployed on Vercel.
Challenges I ran into
- VRML's archaic syntax with bizarre quirks (optional commas, mid-node comments, axis-angle rotations)
- Inverted transparency semantics (0=opaque vs CSS where 0=transparent) required steering docs to prevent bugs
- IndexedFaceSet mesh parsing with
-1face separators needed precise spec-driven development - Returning to hands-on coding after years in program management—Kiro became my force multiplier
Accomplishments that I'm proud of
- Production-grade VRML parser in 9 days supporting 8+ node types and advanced features
- IndexedFaceSet-to-A-Frame converter worked perfectly on first try thanks to spec-driven development
- Halloween graveyard demo with 35 objects showcasing complex geometry, transparency, and emissive materials
- Pre-deployment hook caught
.kirogitignore issue that would have been instant disqualification
What I learned
- Kiro amplifies domain expertise—my VR background let me describe problems in precise spatial computing terms
- Hybrid approach optimal: specs for deterministic logic, vibe coding for subjective UI/UX
- Steering docs have outsized ROI—5 lines about transparency saved 6+ hours of debugging
What's next for VRML Reborn
- Partner with Internet Archive to preserve historically significant VRML worlds
- AI-assisted texture upscaling for vintage 3D content
- Full VRML 2.0 spec coverage (currently ~60%)
- Integration with Rivrr platform as first product in suite of 3D resurrection tools
Built With
- a-frame
- aws-amplify
- javascript
- kiro
- node.js
- three.js
- typescript
- webxr-api
Log in or sign up for Devpost to join the conversation.