2026-03 – 2026-08 · unprovisioned

GenomeCanvas

Protein visualization with typed interface commands

Fifty-four human proteins in a Three.js scene: fifty-two real AlphaFold structures and two labelled fallbacks, with an AI guide that moves the interface before it speaks.

Explore the fixture in three dimensions

GenomeCanvas combines a Three.js protein scene with a small knowledge graph: . Backbone ribbons use the structures' confidence scores, and a detail view opens Mol*. The viewer is loaded separately, contributing to the recorded main JavaScript bundle; it still requires a runtime download.

The fixture contains . The two fallback structures are labelled substitutes, so their presence is visible instead of implying that every fixture has a real prediction.

The interface moves before it speaks

Ask for the proteins involved in a disease and the backend streams typed UI commands ahead of any prose: the universe dims, the graph re-roots and the camera re-frames before the first sentence arrives. The local grounded answer path works without a model key. Its recorded model calls: . Optional Claude narration makes external model calls. Grounding and typed commands constrain the workflow; they do not guarantee that generated prose is semantically correct.

Honest about where it stands

The deployment is configured but not provisioned, so the code is the artifact rather than a verified service URL. Visual neighbors in reduced-dimensional coordinates are spatial proximity, not proof of shared biological function or clinical utility. The data is a small fixture, and this update did not reproduce the project's tests or establish new scientific results.

How it was built

Time:
Built in phases between March and August 2026.
Tools:
Claude Code, Codex
Mine:
Specifying the workflow, keeping fixtures behind a repository interface, sending typed interface commands ahead of prose, reviewing the model fallback, and checking whether end-to-end tests actually reached the backend.
How "not broken" was decided:
Tests across three runners — backend, component and end-to-end.