I had the idea to embed the product on the landing page so that visitors wouldn't have to click anything to see the product. As it's a react app, I tried a few different things like:
Those approaches were too complicated and I realized I could do it simply by using GatsbyJS for the landing page and embedding the product as an iframe. In the iframe src attribute, I can pass query parameters to the app so it does different things because it's embedded.
Right now it just shows the app without the control bar on the side. This week I'm going to work on a "player piano" feature, so that on the marketing site, the app plays through like the a video. The awesome thing here being that after it's done "playing", visitors will be able to click around and use it right there on the landing page.