Projects

snap3d — One Photo In, an Editable 3D Model Out

Active
Claude Fable 5Three.jsNode.js (zero-dep stdlib)JavaScript
Product demo

Problem

A photo shows you one side of an object; the other five sides are a guess. Turning a single 2D image into a usable 3D model normally needs a photogrammetry rig or hours of manual modeling.

Business Impact

Photo-to-3D tools stop at a static mesh. snap3d's semantic, named-part scene lets non-experts edit 3D with words instead of a modeling suite — lowering the skill floor for prototyping, product mockups, and asset creation.

System Approach

  • Single photo → Claude Fable 5 → strict-JSON scene of named primitives
  • Three.js viewer with per-part scale and color sliders
  • Plain-English remix re-edits only the named parts you reference
  • One-click .obj export for Blender, Unity, or any render engine
  • ~100-line zero-dependency Node stdlib server; API key or local claude CLI

Key Decisions & Trade-offs

  • Treat model output as data — a strict JSON contract makes 3D just another API response
  • Semantic named parts over an opaque mesh — that is what makes word-based editing possible
  • Zero npm dependencies — the server is Node stdlib only
  • Three.js for live in-browser rendering over a heavy engine

Current Status

Public and open source (MIT) at github.com/rohitguta2432/snap3d. Verified real run: sample photo → 25 named parts; remix 'bigger wheels + neon green' applied live and re-rendered in the demo.

Roadmap

  • Texture inference alongside geometry
  • More primitive types for organic shapes
  • glTF export and batch photo → scene

What I'd Improve Next

  • Cache Fable 5 scenes to make remix instant
  • Confidence hints on inferred hidden geometry so users know what is guessed

Explore More