After a few builds these steps will become second nature. Once setup, you’ll only need to update your prompt to see how your design responds to AI.
1
Add text nodes
Add text placeholders for the question and reasoning. Make sure to name your text laters appropriately to make syncing data easier later on.
Add one text node for the question and one for the description.
2
Create a multi-variant component
Let’s create a component with three different variants: Yes, No, and Null. We need a Null variant to use before we make our first request or if we decide to reset the variable. These names can be upper or lower case, and you can name the variant property anything you like—for the purpose of this example we’ll name it “Response”.
This requires knowing how to work with components and component variants. Read more about working with components.
3
Create a local variable
Click on “Local variables” in Figma’s right panel (you may need to unselect a frame or node to see it). Create a new text variable called “Yes or No”.
Create a local variables collection for AI to stay organized and make data easier to sync.
4
Add an instance of your component to your design
This will allow you to sync data with this instance and not the component itself.
Make sure to apply your local variable to the component property (int this case “Response”).
5
Apply auto layout
Select both text nodes and the component, then click to apply auto layout in Figma’s right panel. This will ensure your design can adjust to varying levels of content. Learn more about working with auto layout.Once this step is done the traditional design work for this example will be complete.
6
Create a request
Run Moonshot AI Designer and create a request if none are created already. Give it a name and write out a directive for the System field that gives the model paramters to work with. Something like the following will work:
System prompt
You are a helpful assistant. Tell a user if something is a good idea or not.
7
Define your schema
Next we’ll define a structured JSON response to ensure data is reliably applied to your design after each request. To do this, click on “Define schema”.
You can write your JSON by hand or use the prompt above the code field to generate one for you. For this example, feel free to copy and paste the following:
This will return your intial set of properties and accompanying data that you can then sync with your design. Ask a question in Prompt field and click “Make request”.
Once you get a request click on “View response” to view the data properties and values that you can apply to your design.
9
Sync response data with text nodes and variable
Click on a text node in your file and select the value you want to sync to it. You can also click on “View response” from the main Reqeusts view and then click on a response value and sync it with a text node or variable.
Repeat with the other text node in your design and the local variable that is read by your component.
Once you’ve synced response data with your design you can update your prompt in Moonshot AI Designer and make a new request to see your design respond to AI.
{"docsConfig":{"$schema":"https://mintlify.com/docs.json","theme":"mint","name":"Moonshot AI Designer","colors":{"primary":"#4E60D2","light":"#A3ADEC","dark":"#4E60D2"},"favicon":"/favicon.svg","styling":{"eyebrows":null,"codeblocks":"system"},"logo":{"light":"https://mintcdn.com/thinklikellc/yUQYyXEaEJymQjZO/logo/light.svg?fit=max\u0026auto=format\u0026n=yUQYyXEaEJymQjZO\u0026q=85\u0026s=ccc70500bf71fe2c5e218fc1ab0ffa71","dark":"https://mintcdn.com/thinklikellc/yUQYyXEaEJymQjZO/logo/dark.svg?fit=max\u0026auto=format\u0026n=yUQYyXEaEJymQjZO\u0026q=85\u0026s=c7d5b95f34a133a12f5f04d0ea1edee1"},"background":{"decoration":"gradient","color":{"light":"#F4F4F7","dark":"#050625"}},"navbar":{"primary":{"type":"button","label":"Get plugin","href":"https://www.figma.com/community/plugin/1456738795623637101"}},"navigation":{"pages":[]}},"deployment":{"deploymentMetadataValue":{"subdomain":"thinklikellc","hasAudioNarration":false,"actualSubdomain":"thinklikellc","customDomains":["moonshot.app"],"gitSource":{"type":"github","owner":"thinklike","repo":"moonshot-docs","deployBranch":"main","contentDirectory":"","isPrivate":true,"mountPath":"","label":""},"entitlements":{},"buildId":"6ae92305c327982d7e71052b:success","clientVersion":"0.0.4111","searchFilterCounts":[{"language":"default","tag":"Documentation","count":11},{"language":"default","tag":"Basics","count":6},{"language":"default","tag":"Product info","count":3},{"language":"default","tag":"Product","count":3},{"language":"default","tag":"Tutorials","count":3},{"language":"default","tag":"Getting started","count":2},{"language":"default","tag":"Support","count":1},{"language":"default","tag":"Help","count":1}]},"assistantConfig":{},"basePath":"","hasChatPermissions":false,"hasWebMcpPermissions":false,"toggles":[{"name":"kill-isr","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"custom-rbac-roles","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"agent-mintlify-slack","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"agent-integrations-settings","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"rbac-expansion","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automations-pr-grouping","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"custom-prefix","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"analytics-v7","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"user-flows-analytics","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"no-publish-flow","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-onboarding","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"llms-txt-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"snapshot-serving-live","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"stripTemperatureMiddleware","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"support-platform-pylon-zendesk","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"snapshot-serving","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"instant-rollback","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"granular-notifications-server","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"granular-notifications","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automations-fable","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"fixed-ai-action-pricing","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automation-resolve-merge-conflict","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"scoped-publishing","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"mintql","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"page-level-analytics","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"editor-version-history-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"billing-page-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"full-page-search","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workspace-projects","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"assistant-v5","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"fork-pr-previews","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"revalidation-jwt","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-sso-scim","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"hobby-abuse-scan","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"dashboard-inbox","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-signup","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"turbopuffer-dual-write","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-enabled","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"approve-review-flow","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"editor-metadata","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"sso-setup-deadline-banner","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"turbopuffer-serve","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"live-agents","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false}],"googleFontsInlined":false},"customCss":[],"page":{"pagePath":"tutorials/simple","slug":"/tutorials/simple","pageMetadata":{"title":"Simple app","description":"Design an AI product that tells you if something is a good idea","icon":"toggle-off","href":"/tutorials/simple"},"description":{"compiledSource":"\"use strict\";\nconst {jsx: _jsx} = arguments[0];\nconst {useMDXComponents: _provideComponents} = arguments[0];\nfunction _createMdxContent(props) {\n const _components = {\n p: \"p\",\n ..._provideComponents(),\n ...props.components\n };\n return _jsx(_components.p, {\n children: \"Design an AI product that tells you if something is a good idea\"\n });\n}\nfunction MDXContent(props = {}) {\n const {wrapper: MDXLayout} = {\n ..._provideComponents(),\n ...props.components\n };\n return MDXLayout ? _jsx(MDXLayout, {\n ...props,\n children: _jsx(_createMdxContent, {\n ...props\n })\n }) : _createMdxContent(props);\n}\nreturn {\n default: MDXContent\n};\n","frontmatter":{},"scope":{}},"pageType":"default","mdx":{"mdxSource":{"compiledSource":"\"use strict\";const{Fragment:_Fragment,jsx:_jsx,jsxs:_jsxs}=arguments[0];const{useMDXComponents:_provideComponents}=arguments[0];function _createMdxContent(props){const _components={a:`a`,code:`code`,p:`p`,pre:`pre`,span:`span`,strong:`strong`,..._provideComponents(),...props.components},{CodeBlock,Frame,Heading,Note,OptimizedImage,Step,Steps,Tip}=_components;if(!CodeBlock)_missingMdxReference(`CodeBlock`,true);if(!Frame)_missingMdxReference(`Frame`,true);if(!Heading)_missingMdxReference(`Heading`,true);if(!Note)_missingMdxReference(`Note`,true);if(!OptimizedImage)_missingMdxReference(`OptimizedImage`,true);if(!Step)_missingMdxReference(`Step`,true);if(!Steps)_missingMdxReference(`Steps`,true);if(!Tip)_missingMdxReference(`Tip`,true);return _jsxs(_Fragment,{children:[_jsxs(Note,{children:[`This guide assumes you’ve run Moonshot AI Designer in Figma and added your OpenAI API key as described in the `,_jsx(_components.a,{href:`/quickstart`,children:`Quickstart guide`}),`.`]}),`\n`,_jsx(Heading,{level:`2`,id:`what-we’ll-build`,children:`What we’ll build`}),`\n`,_jsx(Frame,{caption:`Example of a product that answers a yes or no question and provides a reason.`,children:_jsx(OptimizedImage,{src:`https://mintcdn.com/thinklikellc/yUQYyXEaEJymQjZO/images/examples/simple-app/end-result.png?fit=max\u0026auto=format\u0026n=yUQYyXEaEJymQjZO\u0026q=85\u0026s=5a6f4faa46c489d82c9a3efdb7e0b620`,\"data-og-width\":`1200`,width:`1200`,\"data-og-height\":`624`,height:`624`,\"data-path\":`images/examples/simple-app/end-result.png`,\"data-optimize\":`true`,\"data-opv\":`3`,srcset:`https://mintcdn.com/thinklikellc/yUQYyXEaEJymQjZO/images/examples/simple-app/end-result.png?w=280\u0026fit=max\u0026auto=format\u0026n=yUQYyXEaEJymQjZO\u0026q=85\u0026s=c819af7c9560410e006ba69dfdb654fb 280w, https://mintcdn.com/thinklikellc/yUQYyXEaEJymQjZO/images/examples/simple-app/end-result.png?w=560\u0026fit=max\u0026auto=format\u0026n=yUQYyXEaEJymQjZO\u0026q=85\u0026s=92895387b57eb2eacf71c93a874188c9 560w, https://mintcdn.com/thinklikellc/yUQYyXEaEJymQjZO/images/examples/simple-app/end-result.png?w=840\u0026fit=max\u0026auto=format\u0026n=yUQYyXEaEJymQjZO\u0026q=85\u0026s=73eb73db483545ddd16ebd48804e5910 840w, https://mintcdn.com/thinklikellc/yUQYyXEaEJymQjZO/images/examples/simple-app/end-result.png?w=1100\u0026fit=max\u0026auto=format\u0026n=yUQYyXEaEJymQjZO\u0026q=85\u0026s=d33886f7cc59057f5e803b5dd27a7d9d 1100w, https://mintcdn.com/thinklikellc/yUQYyXEaEJymQjZO/images/examples/simple-app/end-result.png?w=1650\u0026fit=max\u0026auto=format\u0026n=yUQYyXEaEJymQjZO\u0026q=85\u0026s=4ce9b2664af96c8e2892a0e78f254075 1650w, https://mintcdn.com/thinklikellc/yUQYyXEaEJymQjZO/images/examples/simple-app/end-result.png?w=2500\u0026fit=max\u0026auto=format\u0026n=yUQYyXEaEJymQjZO\u0026q=85\u0026s=2ead589cf50a8d4b937026d6e1d8c79f 2500w`})}),`\n`,_jsx(Heading,{level:`2`,id:`steps-to-reproduce`,children:`Steps to reproduce`}),`\n`,_jsx(_components.p,{children:`After a few builds these steps will become second nature. Once setup, you’ll only need to update your prompt to see how your design responds to AI.`}),`\n`,_jsxs(Steps,{children:[_jsxs(Step,{title:`Add text nodes`,children:[_jsx(_components.p,{children:`Add text placeholders for the question and reasoning. Make sure to name your text laters appropriately to make syncing data easier later on.`}),_jsx(Frame,{caption:`Add one text node for the question and one for the description.`,children:_jsx(OptimizedImage,{src:`https://mintcdn.com/thinklikellc/yUQYyXEaEJymQjZO/images/examples/simple-app/add-text-nodes.png?fit=max\u0026auto=format\u0026n=yUQYyXEaEJymQjZO\u0026q=85\u0026s=c39e275d71bf6a7f7e244ab584a0cac7`,\"data-og-width\":`1718`,width:`1718`,\"data-og-height\":`990`,height:`990`,\"data-path\":`images/examples/simple-app/add-text-nodes.png`,\"data-optimize\":`true`,\"data-opv\":`3`,srcset:`https://mintcdn.com/thinklikellc/yUQYyXEaEJymQjZO/images/examples/simple-app/add-text-nodes.png?w=280\u0026fit=max\u0026auto=format\u0026n=yUQYyXEaEJymQjZO\u0026q=85\u0026s=8011e406e4670504f8a95af6a62ac4c2 280w, https://mintcdn.com/thinklikellc/yUQYyXEaEJymQjZO/images/examples/simple-app/add-text-nodes.png?w=560\u0026fit=max\u0026auto=format\u0026n=yUQYyXEaEJymQjZO\u0026q=85\u0026s=80d55a48bb18fd27b77c86c624c25f28 560w, https://mintcdn.com/thinklikellc/yUQYyXEaEJymQjZO/images/examples/simple-app/add-text-nodes.png?w=840\u0026fit=max\u0026auto=format\u0026n=yUQYyXEaEJymQjZO\u0026q=85\u0026s=03b3cd21e5d56fc65bb3c03a584dbf91 840w, https://mintcdn.com/thinklikellc/yUQYyXEaEJymQjZO/images/examples/simple-app/add-text-nodes.png?w=1100\u0026fit=max\u0026auto=format\u0026n=yUQYyXEaEJymQjZO\u0026q=85\u0026s=fad1736c2c05345f37d33ab2de2660c4 1100w, https://mintcdn.com/thinklikellc/yUQYyXEaEJymQjZO/images/examples/simple-app/add-text-nodes.png?w=1650\u0026fit=max\u0026auto=format\u0026n=yUQYyXEaEJymQjZO\u0026q=85\u0026s=982157cb34f1ba029baf311daaf4d032 1650w, https://mintcdn.com/thinklikellc/yUQYyXEaEJymQjZO/images/examples/simple-app/add-text-nodes.png?w=2500\u0026fit=max\u0026auto=format\u0026n=yUQYyXEaEJymQjZO\u0026q=85\u0026s=734089822b570f75170f699ad9e1157e 2500w`})}),_jsx(`br`,{})]}),_jsxs(Step,{title:`Create a multi-variant component`,children:[_jsxs(_components.p,{children:[`Let’s create a component with three different variants: `,_jsx(_components.code,{children:`Yes`}),`, `,_jsx(_components.code,{children:`No`}),`, and `,_jsx(_components.code,{children:`Null`}),`. We need a `,_jsx(_components.code,{children:`Null`}),` variant to use before we make our first request or if we decide to reset the variable. These names can be upper or lower case, and you can name the variant property anything you like—for the purpose of this example we’ll name it “Response”.`]}),_jsx(Frame,{children:_jsx(OptimizedImage,{src:`https://mintcdn.com/thinklikellc/yUQYyXEaEJymQjZO/images/component-variants.png?fit=max\u0026auto=format\u0026n=yUQYyXEaEJymQjZO\u0026q=85\u0026s=60e68875a3b6d1644e573e157592a423`,\"data-og-width\":`1676`,width:`1676`,\"data-og-height\":`656`,height:`656`,\"data-path\":`images/component-variants.png`,\"data-optimize\":`true`,\"data-opv\":`3`,srcset:`https://mintcdn.com/thinklikellc/yUQYyXEaEJymQjZO/images/component-variants.png?w=280\u0026fit=max\u0026auto=format\u0026n=yUQYyXEaEJymQjZO\u0026q=85\u0026s=6b7a6bde53afe30b2d28ccd6c52a27ea 280w, https://mintcdn.com/thinklikellc/yUQYyXEaEJymQjZO/images/component-variants.png?w=560\u0026fit=max\u0026auto=format\u0026n=yUQYyXEaEJymQjZO\u0026q=85\u0026s=7353e73d237b1cf6aff1e4ad9eaeb845 560w, https://mintcdn.com/thinklikellc/yUQYyXEaEJymQjZO/images/component-variants.png?w=840\u0026fit=max\u0026auto=format\u0026n=yUQYyXEaEJymQjZO\u0026q=85\u0026s=9544941cc11c7be8be56af2a2bcd0368 840w, https://mintcdn.com/thinklikellc/yUQYyXEaEJymQjZO/images/component-variants.png?w=1100\u0026fit=max\u0026auto=format\u0026n=yUQYyXEaEJymQjZO\u0026q=85\u0026s=95cf9c74a2de3cabcd6c4d88c2bf2276 1100w, https://mintcdn.com/thinklikellc/yUQYyXEaEJymQjZO/images/component-variants.png?w=1650\u0026fit=max\u0026auto=format\u0026n=yUQYyXEaEJymQjZO\u0026q=85\u0026s=203e21bdf4912bacdcf5d2f6f7aaa700 1650w, https://mintcdn.com/thinklikellc/yUQYyXEaEJymQjZO/images/component-variants.png?w=2500\u0026fit=max\u0026auto=format\u0026n=yUQYyXEaEJymQjZO\u0026q=85\u0026s=6b3de6cbef41f0bb6ca69382cb720f94 2500w`})}),_jsxs(Note,{children:[`This requires knowing how to work with components and component variants. Read more about `,_jsx(_components.a,{href:`/basics/working-with-components.mdx`,children:`working with components`}),`.`]}),_jsx(`br`,{})]}),_jsxs(Step,{title:`Create a local variable`,children:[_jsx(_components.p,{children:`Click on “Local variables” in Figma’s right panel (you may need to unselect a frame or node to see it). Create a new text variable called “Yes or No”.`}),_jsx(Frame,{children:_jsx(OptimizedImage,{src:`https://mintcdn.com/thinklikellc/yUQYyXEaEJymQjZO/images/variables.png?fit=max\u0026auto=format\u0026n=yUQYyXEaEJymQjZO\u0026q=85\u0026s=a102e21abc14e45d98e45eff2a51b99a`,\"data-og-width\":`1356`,width:`1356`,\"data-og-height\":`932`,height:`932`,\"data-path\":`images/variables.png`,\"data-optimize\":`true`,\"data-opv\":`3`,srcset:`https://mintcdn.com/thinklikellc/yUQYyXEaEJymQjZO/images/variables.png?w=280\u0026fit=max\u0026auto=format\u0026n=yUQYyXEaEJymQjZO\u0026q=85\u0026s=d84b8ec7671169820c3dde70f280537c 280w, https://mintcdn.com/thinklikellc/yUQYyXEaEJymQjZO/images/variables.png?w=560\u0026fit=max\u0026auto=format\u0026n=yUQYyXEaEJymQjZO\u0026q=85\u0026s=2374b7c3095639f02e899a562f0aaa7a 560w, https://mintcdn.com/thinklikellc/yUQYyXEaEJymQjZO/images/variables.png?w=840\u0026fit=max\u0026auto=format\u0026n=yUQYyXEaEJymQjZO\u0026q=85\u0026s=3d3cb2b02337357a6bec348d9b4ec7f7 840w, https://mintcdn.com/thinklikellc/yUQYyXEaEJymQjZO/images/variables.png?w=1100\u0026fit=max\u0026auto=format\u0026n=yUQYyXEaEJymQjZO\u0026q=85\u0026s=ede1ca658afa2ab3b3d8fba4938295ed 1100w, https://mintcdn.com/thinklikellc/yUQYyXEaEJymQjZO/images/variables.png?w=1650\u0026fit=max\u0026auto=format\u0026n=yUQYyXEaEJymQjZO\u0026q=85\u0026s=6e412270c4a4480fde1e3bcf3fbe3059 1650w, https://mintcdn.com/thinklikellc/yUQYyXEaEJymQjZO/images/variables.png?w=2500\u0026fit=max\u0026auto=format\u0026n=yUQYyXEaEJymQjZO\u0026q=85\u0026s=1cf7e8877364c6f04f9d8a9af59f4b90 2500w`})}),_jsx(Tip,{children:`Create a local variables collection for AI to stay organized and make data easier to sync.`}),_jsx(`br`,{})]}),_jsxs(Step,{title:`Add an instance of your component to your design`,children:[_jsx(_components.p,{children:`This will allow you to sync data with this instance and not the component itself.`}),_jsx(Frame,{children:_jsx(OptimizedImage,{src:`https://mintcdn.com/thinklikellc/yUQYyXEaEJymQjZO/images/examples/simple-app/apply-variable.png?fit=max\u0026auto=format\u0026n=yUQYyXEaEJymQjZO\u0026q=85\u0026s=402417aadb25e57761e38d8c29b8dcd5`,\"data-og-width\":`1964`,width:`1964`,\"data-og-height\":`1090`,height:`1090`,\"data-path\":`images/examples/simple-app/apply-variable.png`,\"data-optimize\":`true`,\"data-opv\":`3`,srcset:`https://mintcdn.com/thinklikellc/yUQYyXEaEJymQjZO/images/examples/simple-app/apply-variable.png?w=280\u0026fit=max\u0026auto=format\u0026n=yUQYyXEaEJymQjZO\u0026q=85\u0026s=b02ac98c8169c357227372de41d4cb34 280w, https://mintcdn.com/thinklikellc/yUQYyXEaEJymQjZO/images/examples/simple-app/apply-variable.png?w=560\u0026fit=max\u0026auto=format\u0026n=yUQYyXEaEJymQjZO\u0026q=85\u0026s=131c45166fda25a53175498a8ede2a73 560w, https://mintcdn.com/thinklikellc/yUQYyXEaEJymQjZO/images/examples/simple-app/apply-variable.png?w=840\u0026fit=max\u0026auto=format\u0026n=yUQYyXEaEJymQjZO\u0026q=85\u0026s=88b72307a6ee64a162bfb9301ef1592f 840w, https://mintcdn.com/thinklikellc/yUQYyXEaEJymQjZO/images/examples/simple-app/apply-variable.png?w=1100\u0026fit=max\u0026auto=format\u0026n=yUQYyXEaEJymQjZO\u0026q=85\u0026s=bca73cce7e37c25d98b83a7740dfe5bb 1100w, https://mintcdn.com/thinklikellc/yUQYyXEaEJymQjZO/images/examples/simple-app/apply-variable.png?w=1650\u0026fit=max\u0026auto=format\u0026n=yUQYyXEaEJymQjZO\u0026q=85\u0026s=984de9bca455e8fabb4770b8afb86199 1650w, https://mintcdn.com/thinklikellc/yUQYyXEaEJymQjZO/images/examples/simple-app/apply-variable.png?w=2500\u0026fit=max\u0026auto=format\u0026n=yUQYyXEaEJymQjZO\u0026q=85\u0026s=be18521f0e6302193da8f357c1d74bdf 2500w`})}),_jsx(Note,{children:`Make sure to apply your local variable to the component property (int this case “Response”).`}),_jsx(`br`,{})]}),_jsxs(Step,{title:`Apply auto layout`,children:[_jsxs(_components.p,{children:[`Select both text nodes and the component, then click to apply auto layout in Figma’s right panel. This will ensure your design can adjust to varying levels of content. Learn more about `,_jsx(_components.a,{href:`/basics/working-with-auto-layout`,children:`working with auto layout`}),`.`]}),_jsx(_components.p,{children:`Once this step is done the traditional design work for this example will be complete.`}),_jsx(`br`,{})]}),_jsxs(Step,{title:`Create a request`,children:[_jsxs(_components.p,{children:[`Run Moonshot AI Designer and create a request if none are created already. Give it a name and write out a directive for the `,_jsx(_components.strong,{children:`System`}),` field that gives the model paramters to work with. Something like the following will work:`]}),_jsx(CodeBlock,{filename:`System prompt`,numberOfLines:`2`,language:`text`,children:_jsx(_components.pre,{className:`shiki shiki-themes github-light-default dark-plus`,style:{backgroundColor:`#ffffff`,\"--shiki-dark-bg\":`#0B0C0E`,color:`#1f2328`,\"--shiki-dark\":`#D4D4D4`},language:`text`,children:_jsxs(_components.code,{language:`text`,numberOfLines:`2`,children:[_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{children:`You are a helpful assistant. Tell a user if something is a good idea or not.`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{})})]})})}),_jsx(`br`,{})]}),_jsxs(Step,{title:`Define your schema`,children:[_jsx(_components.p,{children:`Next we’ll define a structured JSON response to ensure data is reliably applied to your design after each request. To do this, click on “Define schema”.`}),_jsx(Frame,{children:_jsx(OptimizedImage,{width:`400px`,src:`https://mintcdn.com/thinklikellc/yUQYyXEaEJymQjZO/images/schema-variables.png?fit=max\u0026auto=format\u0026n=yUQYyXEaEJymQjZO\u0026q=85\u0026s=57684398a19fc13c334deff279c77ece`,\"data-og-width\":`942`,\"data-og-height\":`1162`,\"data-path\":`images/schema-variables.png`,\"data-optimize\":`true`,\"data-opv\":`3`,srcset:`https://mintcdn.com/thinklikellc/yUQYyXEaEJymQjZO/images/schema-variables.png?w=280\u0026fit=max\u0026auto=format\u0026n=yUQYyXEaEJymQjZO\u0026q=85\u0026s=02154514b6116e3cc74fdb663fe03852 280w, https://mintcdn.com/thinklikellc/yUQYyXEaEJymQjZO/images/schema-variables.png?w=560\u0026fit=max\u0026auto=format\u0026n=yUQYyXEaEJymQjZO\u0026q=85\u0026s=4fd6033edc7abafa1338ea8a821af73c 560w, https://mintcdn.com/thinklikellc/yUQYyXEaEJymQjZO/images/schema-variables.png?w=840\u0026fit=max\u0026auto=format\u0026n=yUQYyXEaEJymQjZO\u0026q=85\u0026s=5fa4e0524ca108dfabc32b969920727f 840w, https://mintcdn.com/thinklikellc/yUQYyXEaEJymQjZO/images/schema-variables.png?w=1100\u0026fit=max\u0026auto=format\u0026n=yUQYyXEaEJymQjZO\u0026q=85\u0026s=064799245943768f5d691c7ccaf083b2 1100w, https://mintcdn.com/thinklikellc/yUQYyXEaEJymQjZO/images/schema-variables.png?w=1650\u0026fit=max\u0026auto=format\u0026n=yUQYyXEaEJymQjZO\u0026q=85\u0026s=c3909d3040e96a147291c9ae6e3d1e80 1650w, https://mintcdn.com/thinklikellc/yUQYyXEaEJymQjZO/images/schema-variables.png?w=2500\u0026fit=max\u0026auto=format\u0026n=yUQYyXEaEJymQjZO\u0026q=85\u0026s=be646dbc7c3a5a61528613a59b0df26e 2500w`})}),_jsx(_components.p,{children:`You can write your JSON by hand or use the prompt above the code field to generate one for you. For this example, feel free to copy and paste the following:`}),_jsx(CodeBlock,{filename:`JSON schema`,numberOfLines:`24`,language:`json`,children:_jsx(_components.pre,{className:`shiki shiki-themes github-light-default dark-plus`,style:{backgroundColor:`#ffffff`,\"--shiki-dark-bg\":`#0B0C0E`,color:`#1f2328`,\"--shiki-dark\":`#D4D4D4`},language:`json`,children:_jsxs(_components.code,{language:`json`,numberOfLines:`24`,children:[_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`{`})}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"type\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"object\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"properties\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: {`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"question\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: {`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"type\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"string\"`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` },`})}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"answer\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: {`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"type\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"string\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"enum\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: [`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"yes\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"no\"`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` ]`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` },`})}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"description\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: {`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"type\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"string\"`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` }`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` },`})}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"required\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: [`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"question\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"answer\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"description\"`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` ],`})}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"additionalProperties\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#569CD6`},children:`false`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`}`})}),`\n`]})})}),_jsx(`br`,{})]}),_jsxs(Step,{title:`Make an initial request`,children:[_jsxs(_components.p,{children:[`This will return your intial set of properties and accompanying data that you can then sync with your design. Ask a question in `,_jsx(_components.strong,{children:`Prompt`}),` field and click “Make request”.`]}),_jsx(Frame,{children:_jsx(OptimizedImage,{width:`400px`,src:`https://mintcdn.com/thinklikellc/yUQYyXEaEJymQjZO/images/examples/simple-app/initial-request.png?fit=max\u0026auto=format\u0026n=yUQYyXEaEJymQjZO\u0026q=85\u0026s=db9ca7289b2626df10b2c31d06d31d7e`,\"data-og-width\":`1004`,\"data-og-height\":`720`,\"data-path\":`images/examples/simple-app/initial-request.png`,\"data-optimize\":`true`,\"data-opv\":`3`,srcset:`https://mintcdn.com/thinklikellc/yUQYyXEaEJymQjZO/images/examples/simple-app/initial-request.png?w=280\u0026fit=max\u0026auto=format\u0026n=yUQYyXEaEJymQjZO\u0026q=85\u0026s=5e3473fa7acb184fc815ac356058aefb 280w, https://mintcdn.com/thinklikellc/yUQYyXEaEJymQjZO/images/examples/simple-app/initial-request.png?w=560\u0026fit=max\u0026auto=format\u0026n=yUQYyXEaEJymQjZO\u0026q=85\u0026s=94c22d020c0b517f0e5fb05c7cda5650 560w, https://mintcdn.com/thinklikellc/yUQYyXEaEJymQjZO/images/examples/simple-app/initial-request.png?w=840\u0026fit=max\u0026auto=format\u0026n=yUQYyXEaEJymQjZO\u0026q=85\u0026s=5178c59eac88feb7841c34e949ed08b2 840w, https://mintcdn.com/thinklikellc/yUQYyXEaEJymQjZO/images/examples/simple-app/initial-request.png?w=1100\u0026fit=max\u0026auto=format\u0026n=yUQYyXEaEJymQjZO\u0026q=85\u0026s=4e58192c1dbf6e4e8f0f98e59cd036f7 1100w, https://mintcdn.com/thinklikellc/yUQYyXEaEJymQjZO/images/examples/simple-app/initial-request.png?w=1650\u0026fit=max\u0026auto=format\u0026n=yUQYyXEaEJymQjZO\u0026q=85\u0026s=79467e7d055d102f668df9dd77b2bc53 1650w, https://mintcdn.com/thinklikellc/yUQYyXEaEJymQjZO/images/examples/simple-app/initial-request.png?w=2500\u0026fit=max\u0026auto=format\u0026n=yUQYyXEaEJymQjZO\u0026q=85\u0026s=28d65cde61a085fed0f6aaa3cf7eb55e 2500w`})}),_jsx(_components.p,{children:`Once you get a request click on “View response” to view the data properties and values that you can apply to your design.`}),_jsx(Frame,{children:_jsx(OptimizedImage,{width:`400px`,src:`https://mintcdn.com/thinklikellc/yUQYyXEaEJymQjZO/images/requests-response.png?fit=max\u0026auto=format\u0026n=yUQYyXEaEJymQjZO\u0026q=85\u0026s=7ff587a9756ae0d31da663d06a7a0138`,\"data-og-width\":`1038`,\"data-og-height\":`918`,\"data-path\":`images/requests-response.png`,\"data-optimize\":`true`,\"data-opv\":`3`,srcset:`https://mintcdn.com/thinklikellc/yUQYyXEaEJymQjZO/images/requests-response.png?w=280\u0026fit=max\u0026auto=format\u0026n=yUQYyXEaEJymQjZO\u0026q=85\u0026s=65d702a89ae40f5d120a6bcc3266daa2 280w, https://mintcdn.com/thinklikellc/yUQYyXEaEJymQjZO/images/requests-response.png?w=560\u0026fit=max\u0026auto=format\u0026n=yUQYyXEaEJymQjZO\u0026q=85\u0026s=91cb321b3c95904b695dfe35fa2d3779 560w, https://mintcdn.com/thinklikellc/yUQYyXEaEJymQjZO/images/requests-response.png?w=840\u0026fit=max\u0026auto=format\u0026n=yUQYyXEaEJymQjZO\u0026q=85\u0026s=fd621208d380fc168a2b704b49091238 840w, https://mintcdn.com/thinklikellc/yUQYyXEaEJymQjZO/images/requests-response.png?w=1100\u0026fit=max\u0026auto=format\u0026n=yUQYyXEaEJymQjZO\u0026q=85\u0026s=943bb7c3250810f16fe0a9c80db3d429 1100w, https://mintcdn.com/thinklikellc/yUQYyXEaEJymQjZO/images/requests-response.png?w=1650\u0026fit=max\u0026auto=format\u0026n=yUQYyXEaEJymQjZO\u0026q=85\u0026s=86ebfe763b10a97bf25635a25b1dce43 1650w, https://mintcdn.com/thinklikellc/yUQYyXEaEJymQjZO/images/requests-response.png?w=2500\u0026fit=max\u0026auto=format\u0026n=yUQYyXEaEJymQjZO\u0026q=85\u0026s=abf131113c2faeb358c7bf483c7f8640 2500w`})}),_jsx(`br`,{})]}),_jsxs(Step,{title:`Sync response data with text nodes and variable`,children:[_jsx(_components.p,{children:`Click on a text node in your file and select the value you want to sync to it. You can also click on “View response” from the main Reqeusts view and then click on a response value and sync it with a text node or variable.`}),_jsx(Frame,{children:_jsx(OptimizedImage,{width:`400px`,src:`https://mintcdn.com/thinklikellc/yUQYyXEaEJymQjZO/images/quickstart-sync-text.png?fit=max\u0026auto=format\u0026n=yUQYyXEaEJymQjZO\u0026q=85\u0026s=22e0046f5983a660e2a34421c4ad4eb4`,\"data-og-width\":`924`,\"data-og-height\":`822`,\"data-path\":`images/quickstart-sync-text.png`,\"data-optimize\":`true`,\"data-opv\":`3`,srcset:`https://mintcdn.com/thinklikellc/yUQYyXEaEJymQjZO/images/quickstart-sync-text.png?w=280\u0026fit=max\u0026auto=format\u0026n=yUQYyXEaEJymQjZO\u0026q=85\u0026s=dbd6172ae8a251dff24672bfbe7eb8bf 280w, https://mintcdn.com/thinklikellc/yUQYyXEaEJymQjZO/images/quickstart-sync-text.png?w=560\u0026fit=max\u0026auto=format\u0026n=yUQYyXEaEJymQjZO\u0026q=85\u0026s=da8ac13c63bdf9ec1044f325082dee78 560w, https://mintcdn.com/thinklikellc/yUQYyXEaEJymQjZO/images/quickstart-sync-text.png?w=840\u0026fit=max\u0026auto=format\u0026n=yUQYyXEaEJymQjZO\u0026q=85\u0026s=e2ae277211376f45a2277699a6bba1a4 840w, https://mintcdn.com/thinklikellc/yUQYyXEaEJymQjZO/images/quickstart-sync-text.png?w=1100\u0026fit=max\u0026auto=format\u0026n=yUQYyXEaEJymQjZO\u0026q=85\u0026s=4305182f676d33192f37f764c2f4ade8 1100w, https://mintcdn.com/thinklikellc/yUQYyXEaEJymQjZO/images/quickstart-sync-text.png?w=1650\u0026fit=max\u0026auto=format\u0026n=yUQYyXEaEJymQjZO\u0026q=85\u0026s=cb976e4b13b58ffafbf52fd1e8820f71 1650w, https://mintcdn.com/thinklikellc/yUQYyXEaEJymQjZO/images/quickstart-sync-text.png?w=2500\u0026fit=max\u0026auto=format\u0026n=yUQYyXEaEJymQjZO\u0026q=85\u0026s=681813a139a78a72782d3f65922ae4d8 2500w`})}),_jsx(_components.p,{children:`Repeat with the other text node in your design and the local variable that is read by your component.`}),_jsx(`br`,{})]})]}),`\n`,_jsx(_components.p,{children:`Once you’ve synced response data with your design you can update your prompt in Moonshot AI Designer and make a new request to see your design respond to AI.`})]})}function MDXContent(props={}){const{wrapper:MDXLayout}={..._provideComponents(),...props.components};return MDXLayout?_jsx(MDXLayout,{...props,children:_jsx(_createMdxContent,{...props})}):_createMdxContent(props)}return{default:MDXContent};function _missingMdxReference(id,component){throw new Error(`Expected `+(component?`component`:`object`)+\" `\"+id+\"` to be defined: you likely forgot to import, pass, or provide it.\")}","frontmatter":{},"scope":{"codeStyling":"system","config":{},"pageMetadata":{"title":"Simple app","description":"Design an AI product that tells you if something is a good idea","icon":"toggle-off","href":"/tutorials/simple"}}},"mdxSourceWithNoJs":null},"mdxExtracts":{"tableOfContents":[{"title":"What we’ll build","slug":"what-we’ll-build","depth":2,"children":[]},{"title":"Steps to reproduce","slug":"steps-to-reproduce","depth":2,"children":[]}],"codeExamples":{}},"jsLinks":[],"subdomain":"thinklikellc","siteName":"Moonshot AI Designer","title":"Simple app - Moonshot AI Designer","navMaps":{"firstHrefInVersion":{},"firstHrefInLanguage":{}},"lastModified":"2026-01-07T04:47:16.358Z","originalFileLocation":"tutorials/simple.mdx"},"headHtml":"\u003cscript data-mint-head>(function(){var d=document.documentElement,p=null;if(!p){try{p=localStorage.getItem(\"isDarkMode\")}catch(e){}if(p==='true')p='dark';else if(p==='false')p='light';if(p!=='light'\u0026\u0026p!=='dark'\u0026\u0026p!=='system')p=\"system\"}var r=p==='system'?(matchMedia(\"(prefers-color-scheme: dark)\").matches?'dark':'light'):p;d.classList.remove(r==='dark'?'light':'dark');d.classList.add(r);d.setAttribute(\"data-theme-preference\",p)})();\u003c/script>\u003cmeta data-mint-head name=\"description\" content=\"Design an AI product that tells you if something is a good idea\">\u003cmeta data-mint-head name=\"application-name\" content=\"Moonshot AI Designer\">\u003cmeta data-mint-head name=\"generator\" content=\"Mintlify\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"192x192\" href=\"/mintlify-assets/_mintlify/favicons/thinklikellc/2JOc0uPfkpsqq7bE/_generated/favicon/android-chrome-192x192.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"apple-touch-icon\" type=\"image/png\" sizes=\"180x180\" href=\"/mintlify-assets/_mintlify/favicons/thinklikellc/2JOc0uPfkpsqq7bE/_generated/favicon/apple-touch-icon.png\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/mintlify-assets/_mintlify/favicons/thinklikellc/2JOc0uPfkpsqq7bE/_generated/favicon/favicon-16x16.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"32x32\" href=\"/mintlify-assets/_mintlify/favicons/thinklikellc/2JOc0uPfkpsqq7bE/_generated/favicon/favicon-32x32.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"shortcut icon\" type=\"image/x-icon\" href=\"/mintlify-assets/_mintlify/favicons/thinklikellc/2JOc0uPfkpsqq7bE/_generated/favicon/favicon.ico\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"192x192\" href=\"/mintlify-assets/_mintlify/favicons/thinklikellc/2JOc0uPfkpsqq7bE/_generated/favicon-dark/android-chrome-192x192.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/mintlify-assets/_mintlify/favicons/thinklikellc/2JOc0uPfkpsqq7bE/_generated/favicon-dark/favicon-16x16.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"32x32\" href=\"/mintlify-assets/_mintlify/favicons/thinklikellc/2JOc0uPfkpsqq7bE/_generated/favicon-dark/favicon-32x32.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"shortcut icon\" type=\"image/x-icon\" href=\"/mintlify-assets/_mintlify/favicons/thinklikellc/2JOc0uPfkpsqq7bE/_generated/favicon-dark/favicon.ico\" media=\"(prefers-color-scheme: dark)\">\u003cmeta data-mint-head property=\"og:title\" content=\"Simple app - Moonshot AI Designer\">\u003cmeta data-mint-head property=\"og:description\" content=\"Design an AI product that tells you if something is a good idea\">\u003cmeta data-mint-head property=\"og:site_name\" content=\"Moonshot AI Designer\">\u003cmeta data-mint-head property=\"og:url\" content=\"https://moonshot.app/tutorials/simple\">\u003cmeta data-mint-head property=\"og:type\" content=\"website\">\u003cmeta data-mint-head property=\"og:image\" content=\"https://thinklikellc.mintlify.site/_mintlify/api/og/v2?division=Tutorials\u0026amp;title=Simple+app\u0026amp;description=Design+an+AI+product+that+tells+you+if+something+is+a+good+idea\u0026amp;theme=f32e41f65fca1604813f6fd7\u0026amp;signature=eb069cf0fdf4be6394892932b79a0313ac169f86f08dc509ac588ae906206c18\">\u003cmeta data-mint-head property=\"og:image:width\" content=\"1200\">\u003cmeta data-mint-head property=\"og:image:height\" content=\"630\">\u003cmeta data-mint-head name=\"twitter:card\" content=\"summary_large_image\">\u003cmeta data-mint-head name=\"twitter:title\" content=\"Simple app - Moonshot AI Designer\">\u003cmeta data-mint-head name=\"twitter:description\" content=\"Design an AI product that tells you if something is a good idea\">\u003cmeta data-mint-head name=\"twitter:image\" content=\"https://thinklikellc.mintlify.site/_mintlify/api/og/v2?division=Tutorials\u0026amp;title=Simple+app\u0026amp;description=Design+an+AI+product+that+tells+you+if+something+is+a+good+idea\u0026amp;theme=f32e41f65fca1604813f6fd7\u0026amp;signature=eb069cf0fdf4be6394892932b79a0313ac169f86f08dc509ac588ae906206c18\">\u003cmeta data-mint-head name=\"twitter:image:width\" content=\"1200\">\u003cmeta data-mint-head name=\"twitter:image:height\" content=\"630\">\u003cmeta data-mint-head name=\"msapplication-config\" content=\"/mintlify-assets/_mintlify/favicons/thinklikellc/2JOc0uPfkpsqq7bE/_generated/favicon/browserconfig.xml\">\u003cmeta data-mint-head name=\"apple-mobile-web-app-title\" content=\"Moonshot AI Designer\">\u003cmeta data-mint-head name=\"msapplication-TileColor\" content=\"#4E60D2\">\u003clink data-mint-head rel=\"canonical\" href=\"https://moonshot.app/tutorials/simple\">\u003clink data-mint-head rel=\"alternate\" type=\"application/xml\" href=\"/sitemap.xml\">\u003clink data-mint-head rel=\"alternate\" type=\"text/markdown\" href=\"/tutorials/simple.md\">\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@graph\":[{\"@type\":\"Organization\",\"@id\":\"https://moonshot.app/#organization\",\"name\":\"Moonshot AI Designer\",\"url\":\"https://moonshot.app\",\"logo\":{\"@type\":\"ImageObject\",\"url\":\"https://mintcdn.com/thinklikellc/yUQYyXEaEJymQjZO/logo/light.svg?fit=max\u0026auto=format\u0026n=yUQYyXEaEJymQjZO\u0026q=85\u0026s=ccc70500bf71fe2c5e218fc1ab0ffa71\"}},{\"@type\":\"WebSite\",\"@id\":\"https://moonshot.app#website\",\"name\":\"Moonshot AI Designer\",\"url\":\"https://moonshot.app\",\"publisher\":{\"@id\":\"https://moonshot.app/#organization\"}},{\"@type\":\"WebPage\",\"@id\":\"https://moonshot.app/tutorials/simple#webpage\",\"url\":\"https://moonshot.app/tutorials/simple\",\"name\":\"Simple app\",\"description\":\"Design an AI product that tells you if something is a good idea\",\"dateModified\":\"2026-01-07T04:47:16.358Z\",\"isPartOf\":{\"@id\":\"https://moonshot.app#website\"},\"breadcrumb\":{\"@id\":\"https://moonshot.app/tutorials/simple#breadcrumb\"}},{\"@type\":\"BreadcrumbList\",\"@id\":\"https://moonshot.app/tutorials/simple#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Moonshot AI Designer\",\"item\":\"https://moonshot.app\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Simple app\",\"item\":\"https://moonshot.app/tutorials/simple\"}]},{\"@type\":[\"Article\",\"TechArticle\"],\"@id\":\"https://moonshot.app/tutorials/simple#article\",\"headline\":\"Simple app\",\"name\":\"Simple app\",\"description\":\"Design an AI product that tells you if something is a good idea\",\"url\":\"https://moonshot.app/tutorials/simple\",\"mainEntityOfPage\":{\"@id\":\"https://moonshot.app/tutorials/simple#webpage\"},\"dateModified\":\"2026-01-07T04:47:16.358Z\",\"publisher\":{\"@id\":\"https://moonshot.app/#organization\"},\"isPartOf\":{\"@id\":\"https://moonshot.app#website\"}}]}\u003c/script>\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@type\":\"WebSite\",\"name\":\"Moonshot AI Designer\",\"publisher\":{\"@type\":\"Organization\",\"name\":\"Moonshot AI Designer\"},\"provider\":{\"@type\":\"Organization\",\"name\":\"Mintlify\",\"url\":\"https://mintlify.com\"}}\u003c/script>","agentPointerHref":"/tutorials/simple.md","siteName":"Moonshot AI Designer","nav":{"global":null,"anchors":[{"anchor":"Documentation","icon":"book-open","groups":[{"group":"Getting started","pages":[{"title":"Introduction","href":"/introduction"},{"title":"Quickstart","href":"/quickstart"}]},{"group":"Basics","pages":[{"title":"Defining schemas","icon":"code","href":"/basics/defining-schemas"},{"title":"Making requests","icon":"rotate","href":"/basics/making-requests"},{"title":"Syncing with text nodes","icon":"text","href":"/basics/syncing-with-text-nodes"},{"title":"Syncing with variables","icon":"square-xmark","href":"/basics/syncing-with-variables"},{"title":"Working with components","icon":"diamonds-4","href":"/basics/working-with-components"},{"title":"Working with auto layout","description":"Ensure your design can adjust to various amounts of information","icon":"objects-column","href":"/basics/working-with-auto-layout"}]},{"group":"Tutorials","pages":[{"title":"Simple app","icon":"toggle-off","href":"/tutorials/simple"},{"title":"User personas","description":"Design a dynamic user interface that behaves differently for different types of users","icon":"address-card","href":"/tutorials/personas"},{"title":"AI chat","icon":"messages","href":"/tutorials/ai-chat"}]}]},{"anchor":"Support","icon":"life-ring","pages":[{"title":"Support","href":"/help/contact"}]},{"anchor":"Product info","icon":"circle-info","pages":[{"title":"Product info","href":"/more/changelog"}]}]},"basePath":"","title":"Simple app - Moonshot AI Designer","buildId":"dpl_DqYu5MPb49gWBBbUGgpHQUmCHY3P","deploymentId":"dpl_DqYu5MPb49gWBBbUGgpHQUmCHY3P","dynamics":["07c022d89b","a74be98ba7"],"chunks":["Frame-u3J1-UOn.js","DynamicMarkdown-B-f2cqXQ.js","zoom-image-lightbox-DTFzvaXJ.js","lightbox-handle-r17bVUz3.js"]}