Skip to content

archived · 2026

Originull

A browser workspace that turns product images, prompts, and existing 3D assets into customizable, optimized, web-ready 3D — but the generation step is an LLM writing parametric geometry code, checked by an automated critic before it's ever shown as final, not a diffusion model guessing a mesh.

archived; the source is private and there is no public site to visit

What it does

A Vite/React/TypeScript frontend talks to Supabase (auth, Postgres+RLS, Deno edge functions) for the generation pipeline, routed through OpenRouter as the single outbound LLM gateway — no direct model-vendor client anywhere. Provider-backed generation is metered through a credits system billed via Dodo Payments; the browser mesh editor (measurement, labeling, surface-detail/engrave tools, Three.js viewer) is free and local. Before it was archived, the marketing site (originull.com), the signed-in workspace (app.originull.com) and an admin console ran from one codebase, host-routed, deployed on Railway with Supabase as the data layer.

Why I built it

Most 'AI 3D' tools hand you an ungovernable blob of triangles and call it done. I wanted output that's still parametric — checkable, editable, versioned — with the model held accountable for whether what it wrote actually works, not just whether it looks plausible for a screenshot.

Technical problem

Trusting an LLM's code output is the whole problem. Every generation goes through a routing layer that picks a model pair for the request, then a mandatory 'Functional Critic' — an automated check suite that has to accept a generation before it's allowed to become the final version. A generation with no check suite, or one that fails it, is explicitly marked unverified in the UI rather than silently presented as done. Every attempt (initial generation, a repair, a manual edit) becomes a node in a versioned history tree, so nothing is ever a single frozen guess.

My contribution

Co-founder and primary engineer — full product ownership from direction and the React/TypeScript/Three.js workspace through auth, storage, billing, observability, and the asynchronous generation pipeline (jobs, retries, webhooks, and fallbacks).

Evidence and limitations

Verified 2026-09-14 against the private production repository, inspected locally — commit history, AGENTS.md architecture notes, railway.toml, package.json dependencies, and recent commits fixing real billing/webhook/provider-polling bugs. The 'critic must accept before final' rule and the version-tree model are read directly from the pipeline code's documented invariants, not marketing copy. The project is archived: no live site is linked and its source stays private.

Technologies

React, TypeScript, Three.js, Supabase, OpenRouter, Railway, Dodo Payments, glTF-Transform

708 / 716 commits shipped, by Mukund — as of 2026-09-14. Private repository, checked directly rather than via GitHub's public API. Source: local git log of the private production repository, authored by Mukund

Originull workspace: the conversation with a reference photo of a polar bear, the generated low-poly bear on the workbench, and the render parameters
generated mesh in the workbench
Originull workspace showing the same polar bear mesh with a sapphire gem material and its parameters
material pass and render controls
Originull workspace: a reference photo of a white sneaker beside the generated 3D sneaker on the workbench
reference photo to generated sneaker
Originull mesh detail panel with a sneaker wireframe refined from 21,274 to 340,384 triangles and the Master asset delivery profile selected
refine detail: 21,274 to 340,384 triangles
Originull mesh detail panel with the sneaker wireframe at 21,274 triangles and the Web Standard delivery profile selected
web standard delivery profile
Originull workspace with a generated glass bottle on the workbench and the material library open on Clear bottle glass
material library on a generated bottle
Originull decal tool placing a logo and text onto a blue bottle, with curve text controls
logo and text placed on the model
Originull version history drawn as a tree of user prompts, assistant replies and model nodes
every attempt is a node in the history tree
Originull workspace showing the sneaker in an emerald gem material beside the material library
emerald material on the sneaker
Originull workspace showing the generated sneaker in a flat teal colour
sneaker, recoloured
generation result — ring
generation result — shoe
generation result — serum bottle