Build a Drag and Drop layout builder with React and ImmutableJS
Chris Kitson

Hah we literally used a very similar approach when building minus the typescript. A small consideration might be swapping out native d&d for react-beautiful-dnd by atlassian. It’s highly customizable, and more importantly, very accessible out of the box, with full keyboard support. Nevertheless, good read!