Gorka Molero

Creative technologist / AI engineer

Remote, location-independent Email GitHub EngineeringAgentsDesign SystemsCreative WorkBefore AIMusic

Case · generation canvas

Carvingen

A node-based canvas to branch image concepts, carry references forward, generate 3D meshes, and review VR-ready outputs.

Public repo · Build, lint, unit, and e2e tests pass · Fixture demo captured

Problem

Creative iteration with AI models 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 people compare branches of an idea.

What I Built

Carvingen turns that into a spatial canvas. Image, Prompt, Mesh, and Viewer nodes let you 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.

  • Canvas workflowReact Flow graph with prompt, image, mesh, and viewer nodes.
  • Provider boundaryfal image models, Meshy image-to-3D, local job records, and persisted assets.
  • Operator fitBuilt for branching creative decisions rather than one-shot generation.
Carvingen workflow diagram showing image, prompt, mesh, viewer, jobs, assets, SQLite graph state, and public-safe boundaries.
Sanitized workflow diagram grounded in the local source and docs. It shows the product architecture without exposing private generated images, prompts, provider keys, client files, or live outputs.
Carvingen runtime canvas with fake public-demo image, prompt, mesh, and viewer nodes on an isolated temporary database.
Runtime canvas proof captured from an isolated temporary database. The workflow uses fake public-demo text and a placeholder reference image so the screenshot proves the product surface without exposing private generated media or client prompts.
Carvingen static portfolio demo route showing image, prompt, mesh, and viewer nodes with read-only, no-provider, and fake-data badges.
Static /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.

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.

Public Evidence

  • Local source inspected; public transcript records only sanitized implementation evidence.
  • pnpm build passed.
  • pnpm lint passed.
  • pnpm test passed with 44 tests across 10 files.
  • pnpm test:e2e:local passed, including the portfolio demo route.
  • Fake-data runtime canvas captured from an isolated temporary database.
  • Static fixture demo captured from /portfolio-demo with no API requests.
  • Proof transcript — available on request.

Privacy Boundary

Generated images, prompts, provider keys, database contents, and unreleased media stay private. The demo route runs on fixture data; a full walkthrough is available on request.

View source