ThinkSys Inc
Dwellworks
The web platform for a global corporate relocation company.

dwellworks.com · the public marketing site · the platform I worked on is internal
At a glance
- 20 SPA bundles
- IE11 support
- US client, Agile
Scope
Frontend engineer on the web platform, working across the service estate it integrates with.
What I built
- Ship React features across 20 independently-mounted SPA bundles embedded in a legacy .NET Razor monolith, holding IE11 support.
- Built a real-time operations dashboard on Redux and SignalR with automatic reconnect and state recovery, tracking every active relocation.
- Built the shared component library — form fields, virtualized selects, an advanced data grid, Google Maps views — reused across all 20 bundles.
- Hardened the interface with layered React error boundaries and a stack-trace logger, containing a failure to one cell instead of the whole page.
- Work directly with the US client in an Agile environment: requirements, design sessions, feature demos, sprint ceremonies and release coordination.
Constraints and trade-offs
Twenty independent bundles inside a Razor monolith rather than one single-page app. That is an inherited constraint rather than my decision, and it is the right one for this platform: each page ships on its own and a broken build cannot take the rest down with it, which matters on an application running live relocations. The cost is duplicated vendor weight in every bundle and no shared client-side router.
Error boundaries per cell rather than per page. A page-level boundary is less code and gives a cleaner failure, but it blanks a consultant's screen in the middle of a move. Containing the failure to the cell that caused it means a grid degrades instead of disappearing, and the stack trace still reaches the logger.
Context
When a company moves an employee to another city or country, someone has to run that move: find the family a home and a school, handle the lease and the visa paperwork, and track it through to move-out. This is the platform that manages it.
It is a long-running modernization rather than a greenfield build — an established .NET application with React carved into it page by page over years. That is a more interesting engineering problem than a clean slate, because every change has to work with decisions made by people who have moved on.
Stack
- Worked in
- React
- Vue
- JavaScript ES6+
- Redux
- SignalR
- Webpack
- Google Maps
- SCSS
- Integrated
- ASP.NET Core
- .NET Framework
- C#
- REST
- Azure