Andy Parr
← Back to projects

Interactive workspace

A personal portfolio with a 3D desk you can explore, a small desktop interface, and a chair you can flick into motion.

The idea

Make a portfolio easy to read while giving visitors something memorable to explore.

What went into it

The project combines a Three.js scene, a React interface, and a static frontend with a small contact-mail relay. Portfolio content is shared between the main page and AndyOS, an optional desktop with Projects, Mail, Terminal, and About.

Design & engineering decisions

Content comes first

Projects and contact information live in ordinary pages and sections. The room is an optional way to explore the same content.

Motion follows your hand

Dragging the chair changes its angle directly. Release velocity carries into a frame-rate-independent friction model, so a flick coasts and a slow release settles.

A desktop with a purpose

Clicking a monitor opens AndyOS. Independent movable windows and a small dock keep Projects, Mail, and a playful terminal close by, while the main portfolio remains available outside the desktop.

A room that adapts

The camera fits the available screen. The desk lamp switches the room and site between light and dark themes. Rendering pauses when the room is offscreen or covered, and reduced-motion preferences limit animation.

Explore the live workspace