All work
real-time systems

Floor Plan Creator System

A real-time collaborative floor-plan editor. High-fidelity canvas drawing, XML import/export, and multi-user sync over WebSocket — backed by a NestJS admin suite for users and master data.

role
Technical Leader
team
12 engineers
timeline
2025 → now
domain
PropTech / CAD

Overview

The client's teams designed building floor plans in a slow, single-user desktop program. Plans were passed around as files, edits collided, and every handoff risked overwriting someone's work. We built a web-based editor — think Figma for architectural layouts — where multiple drafters edit one plan live, with an admin suite to manage users and shared master data.

The problem

Three things were breaking the old workflow:

Constraints

Architecture

The editor is a React shell around a dedicated canvas engine. React never re-renders on every brush stroke — the canvas owns its own render loop, so drawing stays smooth no matter how busy the UI is. Only sync-critical state (shapes, selections) flows through Redux Toolkit and a thin WebSocket layer to a NestJS gateway that broadcasts to everyone in the room. XML import/export lives in an isolated module so the format can evolve on its own.

client
  ├── React + Redux Toolkit   UI shell · sync-critical state
  └── Canvas engine           own render loop · hit-testing
        ↕  WebSocket · real-time room sync
server
  ├── NestJS gateway          rooms · auth · broadcast
  └── XML import / export     isolated, lossless module
        ↕  persistence
data
  └── PostgreSQL              plans · users · master data

Key decisions & trade-offs

Results

Numbers are illustrative; the real build renders this from MDX (bilingual EN/VI).

ReactJSRedux ToolkitCanvasWebSocketNestJSPostgreSQL