Problem
Creative iteration for carving concepts often happens in linear chat: prompt, image, revision, another image, then a separate jump into 3D tooling. The lineage gets lost, references are awkward to reuse, and the workflow does not match how a craftsperson compares branches of an idea.
What I Built
Carvingen turns that into a spatial canvas. Image, Prompt, Mesh, and Viewer nodes let a carver drag in references, generate variations, branch from any output, send a chosen image into Meshy/fal image-to-3D, persist assets locally, and inspect the resulting GLB through a model viewer.
/portfolio-demo proof captured from the source app. The route renders typed fixture data, disables generation controls, and makes no project, job, fal, or asset-persistence API requests.
System Architecture
Technical Decisions
- Use a graph canvas so iteration history becomes visible and branchable.
- Separate graph state from jobs and assets so reloads do not lose provider work.
- Make generation explicit-run to avoid quietly spending money on model calls.
- Persist provider output locally because remote result URLs are not the durable source of truth.
What This Proves
Carvingen is transformation evidence: domain taste, AI media integration, workflow design, local persistence, and practical product engineering for a real creative business process.