PC Anatomy – Interactive 3D PC Hardware Explorer built with Three.js

Hi everyone,

I’ve been building an open-source project called PC Anatomy using Three.js.

The goal is to make learning about computer hardware more visual and interactive. Instead of reading through diagrams or long descriptions, you can explore a PC in 3D, inspect individual components, and see how the different parts fit together.

The project is still actively being developed, so I’d be interested in feedback from people here—especially around the Three.js implementation, rendering, performance, controls, and overall 3D experience.

Live demo:

GitHub:

Live demo: https://youtu.be/828toWibkfk

It’s fully open source, so contributions, issues, forks, and suggestions are welcome.

Would also be interested to hear what you think could make the 3D experience better.

1 Like

This is great!

Is it possible to add a section where you can assemble your own computer? Not too complicated. Just something where you have a motherboard and a case and you attach components in the correct location and connect them together? I have always thought that having to figure out how things fit together helps the learning process.

Of course, you could eventually expand that to allow the user to try different components, like different motherboards or power supplies, etc. But for now, just having to assemble the components you have selected would be fun.

1 Like

Thanks Phil! This is actually one of the feature requests already open for the project. I think it would add a lot to the learning experience.

If you feel like taking it on, you’re more than welcome to pick it up and contribute. Otherwise I’ll eventually get around to implementing it myself. Would be great to have it in PC Anatomy.

1 Like

It’s a nice system.
But for me, switching back from a component to the PC always takes 4 seconds (RTX 3070 Ti), which is too long.

Thanks for pointing that out! Four seconds is definitely longer than it should be. I’ll look into improving that transition and the loading/performance around it.

If you happen to spot what might be causing it and feel like contributing, you’re also more than welcome to take a look at it on GitHub. Otherwise, I’ll get to it.