An interactive, “escape room” style portfolio built with React and Framer Motion. Instead of a traditional scrolling website, the user interface is completely driven by a background image of a dark, aesthetic coding room.
Users can explore the room by clicking on specific items to trigger smooth zoom-in animations, followed by sleek glass-morphism modals displaying portfolio information, skills, projects, and even functional interactive terminals.
framer-motion, clicking a hitbox calculates its center and zooms the entire room into focus before fading in the content.backdrop-blur-md, bg-black/40).ls, cd, whoami, projects, and skills to interact with the portfolio data.src/data/portfolio.json file.src/assets/: Contains the high-resolution background images for desktop and mobile layouts.src/components/room/: Core components driving the interactive room experience (Hitboxes, Modals, Panels, Terminals).src/data/portfolio.json: The central data file for configuring all content, hitboxes, and terminal responses.src/routes/: TanStack Router file-based routing configuration.To adjust the clickable areas (hitboxes) over the background image:
src/data/portfolio.json.hitboxes array.Shift + D) to make the hitboxes visible as red squares.left, top, width, and height values for both desktop and mobile views until they perfectly align with the visual elements in the background image.This project is open-source and available under the MIT License.