I think you are missing a Repeater widget which could take as a source some JSON data that you upload, or a url to a JSON endpoint that would serve up data dynamically.
Inside the repeater it would know about all the data in the record and you can add spans with the data into the repeater to build the inner layouts.