Spaaaces
spaaaces.vercel.appSpaaaces is an interactive 3D interior design web app, built with React, Three.js and React Three Fiber. Spaaaces is still under development.
Introduction
Spaaaces is a cutting-edge web application that harnesses the power of modern web technologies to elevate the interior design experience. By leveraging the capabilities of React, Three.js, and other state-of-the-art libraries, Spaaaces offers a seamless and intuitive platform for users to create, customise, and explore 3D representations of their living spaces, all within the convenience of a web browser.
Technologies
- React - I leveraged this powerful front-end library to build a robust and responsive user interface, ensuring a seamless experience across various devices and platforms.
- Zustand - This lightweight and efficient state management solution allowed me to maintain a predictable and centralised state, simplifying the management of complex application data flows.
- Three.js - A high-performance 3D graphics library which enabled real-time rendering and manipulation of detailed 3D models, bringing virtual living spaces to life.
- React Three Fiber - A React renderer for Three.js which seamlessly integrates 3D graphics capabilities with React's component-based architecture, enabling the creation of highly interactive and visually captivating 3D environments within a web application.
- React Three Drei - A broad collection of helper utilities specifically designed for React Three Fiber, accelerating development and enhancing the app's functionality with pre-built components and abstractions.
- uuid - I employed this library to generate universally unique identifiers (UUIDs), ensuring reliable and efficient identification and tracking of unique elements within the application.
Architecture and Design Decisions
One of the key architectural decisions was the separation of the application into two distinct views: Floorplan View and Design View. This division was driven by the need to provide users with a streamlined and focused experience tailored to each specific task. The Floorplan View offers an intuitive and uncluttered canvas for users to create and manipulate their floor plans with precision, while the Design View immerses them in a richly detailed 3D environment, enabling them to bring their designs to life.
Key Features
Spaaaces features two seamlessly integrated modes: Floorplan View and Design View. The Floorplan View empowers users to effortlessly create custom floor plans on an expansive infinite grid canvas. Once the floor plan is finalised, users can transition to the immersive Design View, where they can bring their vision to life by applying textures to floors and walls, meticulously curating a collection of furniture pieces, and precisely positioning them within the virtual space.
Furthermore, Spaaaces offers the convenience of locally saving and retrieving scenes, enabling users to revisit and refine their designs at any time, as well as the ability to export the entire scene for sharing or archiving purposes.