First, to see the prior art and foundation to this project, check out the excellent starter by @notrab.
You can see the talk I gave going over this example at the following video.
Ultimately, the only content we've added on top of that is some opinionated styling and hero content for our landing page.
Our Page schema is composed of a form and hero fields.
Our form model looks like this.
The interesting thing to note here is the Union Type which accepts a number of additional field models which lets us compose our form like the photo below.