There is a new entry in the small category of open source projects that make the web feel like the future we were promised in the 1990s: Human Atlas, an interactive 3D anatomy explorer built with React, Three.js, and shadcn/ui. It takes the BodyParts3D adult male reference model and breaks it into 2,234 individually selectable meshes, organized into 15 anatomical systems with 3,432 named concepts you can search. The repo crossed 3,100 stars in its first week, and you can poke at the live demo in a browser tab right now.

BodyParts3D is the anatomy dataset published by the Database Center for Life Science in Japan. It has been around for years, used mostly by researchers willing to wrangle OBJ files. What Human Atlas does is wrap that data in a real application: orbit and zoom controls, click-to-select on the body itself, system toggles, skeleton and organ presets, an exploded view that spreads every visible piece into a spaced inventory, and a search box that resolves anatomical names and source identifiers. Isolate a structure and a detail panel explains it. It runs on phones too, with compact controls and layouts tested down to 320-pixel widths.

The rendering approach is the interesting part

Rendering 2,234 separate objects in Three.js is a good way to melt a GPU. Thousands of individual draw calls kill the frame rate on anything but a desktop with a discrete GPU. The Human Atlas avoids that entirely, and the README explains how: geometry is merged into batches, and per-structure GPU textures control translation, visibility, and selection. The component geometry stays available for accurate picking, so clicking a structure still works precisely, but rendering happens in batches rather than one draw call per mesh.

Exploded views, the mode that spreads the body into a floating inventory of parts, pack only the currently visible pieces. Rendering updates only when the scene changes. The result is an orbit camera that stays responsive even while a full-body model with 2.3 million triangles sits in the viewport. The packaged model is about 33 MB of compressed geometry, which is reasonable for a desktop browser download and ambitious for a phone, and the simplification pipeline keeps a 0.2 percent relative error limit per structure, so shapes stay recognizable.

Engineering practices worth copying

Beyond the rendering trick, the repo is a small case study in how a solo project earns trust. The geometry ships prebuilt, but the full rebuild pipeline is included: a Python script converts the official BodyParts3D OBJ archive and metadata tables, then two Node scripts optimize and compress the models. Validation is a first-class target, not an afterthought. npm run check runs scripts that verify mesh buffers, names and concept membership, non-overlapping exploded layouts at desktop and mobile aspect ratios, and the search and inspection contracts. Browser interaction checks exercise selection, system toggles, search, isolation, and rotation across three viewport sizes, including 390×844 phone layouts. The README is honest about limits too: physical-device multitouch performance has not been tested, and the tool is educational, not diagnostic or surgical.

Licensing is handled cleanly, which matters more than people think when datasets are involved. Application code is MIT. The anatomy data is CC BY 4.0 with attribution requirements documented in a separate ATTRIBUTION file, so anyone forking the project knows exactly what they must preserve. No API keys, no accounts, no telemetry. npm ci and npm run dev and it runs on localhost, or drop the repo into Vercel with the included config.

Why this matters beyond anatomy

Interactive 3D viewers like this have been stuck between two bad options for years: heavyweight engines that need a build pipeline the size of a game studio, or fragile demos that fall apart with real data. This project lands in the useful middle, plain React and Three.js with batched rendering, and it shows the pattern is accessible to a single developer. The same techniques apply to any domain with hundreds or thousands of selectable parts: equipment diagrams, network topologies, facility layouts, molecular structures.

There is also a quiet signal in the project’s history. The first public commit was male-only anatomy, and male and female models landed days later. Medical education has been criticized for decades over single-body-type reference models, and even a hobby project moving to both in its first week says something about how much easier it is to do the right thing when the data pipeline is scripted and the source dataset allows it.

If you want to poke at it, the live demo needs nothing but a browser. If you want to understand how it works, the README and validation scripts are unusually well written for a week-old project.

Sources: GitHub: ashemag/human-atlas, live demo, BodyParts3D, Database Center for Life Science

Leave a Reply

Your email address will not be published. Required fields are marked *