Building visually in NativeFlow Studio versus building programmatically with an AI agent.
Two Ways to BuildNativeFlow Studio supports two approaches to building an app.The first is through an external agent. Using an agent of your choice, such as Claude or Cursor, connected to NativeFlow Studio via MCP, you can build the entire app from outside the Studio. The agent writes into the Studio the same way it would through any other MCP-governed tool surface, subject to the same SAC validation and change router as any other Agent-authored change.The second is through Studio Assistant, the AI assistant built into the Studio itself. Instead of connecting an external agent, you prompt this assistant directly inside NativeFlow Studio, and it builds the app for you in the same environment.Both approaches produce the same governed, SAC-validated output, the difference is where the Agent lives: outside the Studio via MCP, or inside the Studio as a built-in assistant.
{"docsConfig":{"theme":"mint","$schema":"https://mintlify.com/docs.json","name":"NativeFlow Docs","description":"An Agent-Native enterprise Mobile App Development platform where Agents build Web (React) and Mobile Apps (React Native) and Humans govern every change.","colors":{"primary":"#6366F1","light":"#818CF8","dark":"#4F46E5"},"logo":{"light":"https://mintcdn.com/nativeflow/Ug1zLVZWXvlArouO/images/NativeFlow_Docs_Light.png?fit=max\u0026auto=format\u0026n=Ug1zLVZWXvlArouO\u0026q=85\u0026s=03a8599078b7e7a8b06ee7b2619c4ea7","dark":"https://mintcdn.com/nativeflow/Ug1zLVZWXvlArouO/images/NativeFlow_Docs_Dark.png?fit=max\u0026auto=format\u0026n=Ug1zLVZWXvlArouO\u0026q=85\u0026s=1665976ed2f66e26a3b71c8e348c9a6b","href":"https://GetNativeFlow.com"},"favicon":{"light":"https://mintcdn.com/nativeflow/pa2gPgXyCm5qO-j4/images/NativeFlow_Logo.png?fit=max\u0026auto=format\u0026n=pa2gPgXyCm5qO-j4\u0026q=85\u0026s=60f8ca0e42e9e376e577d338bf252940","dark":"https://mintcdn.com/nativeflow/pa2gPgXyCm5qO-j4/images/NativeFlow_Logo.png?fit=max\u0026auto=format\u0026n=pa2gPgXyCm5qO-j4\u0026q=85\u0026s=60f8ca0e42e9e376e577d338bf252940"},"navbar":{"links":[{"href":"https://getnativeflow.com","label":"Studio"}]},"footer":{"socials":{"x":"https://x.com/getnativeflow","github":"https://github.com/mintlify","linkedin":"https://www.linkedin.com/company/getnativeflow"}},"contextual":{"options":["copy","view","chatgpt","claude","perplexity","mcp","cursor","vscode"],"display":"header"},"styling":{"latex":false},"navigation":{"pages":[]}},"deployment":{"deploymentMetadataValue":{"subdomain":"nativeflow","hasAudioNarration":false,"actualSubdomain":"nativeflow","customDomains":["docs.getnativeflow.com"],"gitSource":{"type":"github","owner":"prahaladm","repo":"docs","deployBranch":"main","contentDirectory":"","isPrivate":false,"mountPath":"","label":""},"chroma":{"liveDeploymentHistoryId":"6abbe0f211ea8cb4851a9ff9","collectionId":"faec1016-31f7-4442-9f82-a52afa9f7d23","schemaVersion":"v3","latestBuiltDeploymentHistoryId":"6abbe0f211ea8cb4851a9ff9"},"entitlements":{},"buildId":"6abbe0f211ea8cb4851a9ff9","clientVersion":"0.0.3926","searchFilterCounts":[{"language":"default","tag":"Features","count":7},{"language":"default","tag":"Studio Reference","count":6},{"language":"default","tag":"Overview","count":5},{"language":"default","tag":"Connect and ship","count":5},{"language":"default","tag":"Build","count":5},{"language":"default","tag":"Get Started","count":3}]},"assistantConfig":{"enableAskAiButton":false,"enableStarterQuestions":false,"enableContextualStarterQuestions":false,"enableAskAiSearchBar":true},"hasChatPermissions":false,"hasWebMcpPermissions":false,"toggles":[{"name":"kill-isr","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":"editor-v7-file-tree","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":"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":"pause-universal-search-reconcile","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":"per-site-search-delta","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":"editor-private-page-search","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":"editor-nav-generations","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":"vite-origin","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":"byok-sep-25","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":"editor-agent-model-picker","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}],"isAtlas":false,"googleFontsInlined":false},"customCss":[],"page":{"pagePath":"overview/two-ways-to-build","slug":"/overview/two-ways-to-build","pageMetadata":{"title":"Two Ways to Build","description":"Building visually in NativeFlow Studio versus building programmatically with an AI agent.","href":"/overview/two-ways-to-build"},"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: \"Building visually in NativeFlow Studio versus building programmatically with an AI agent.\"\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={p:`p`,strong:`strong`,..._provideComponents(),...props.components},{Frame,OptimizedImage}=_components;if(!Frame)_missingMdxReference(`Frame`,true);if(!OptimizedImage)_missingMdxReference(`OptimizedImage`,true);return _jsxs(_Fragment,{children:[_jsx(Frame,{children:_jsx(OptimizedImage,{src:`https://mintcdn.com/nativeflow/QMoGJuZEfQT0dul4/images/two_ways_to_build.png?fit=max\u0026auto=format\u0026n=QMoGJuZEfQT0dul4\u0026q=85\u0026s=04e9b267a7aee98d0d04e3cdca1bca5d`,alt:`Two Ways To Build`,\"data-og-width\":`2720`,width:`2720`,\"data-og-height\":`1520`,height:`1520`,\"data-path\":`images/two_ways_to_build.png`,\"data-optimize\":`true`,\"data-opv\":`3`,srcset:`https://mintcdn.com/nativeflow/QMoGJuZEfQT0dul4/images/two_ways_to_build.png?w=280\u0026fit=max\u0026auto=format\u0026n=QMoGJuZEfQT0dul4\u0026q=85\u0026s=1e5601d6a1d44b6b0ad73ae8e74b2d69 280w, https://mintcdn.com/nativeflow/QMoGJuZEfQT0dul4/images/two_ways_to_build.png?w=560\u0026fit=max\u0026auto=format\u0026n=QMoGJuZEfQT0dul4\u0026q=85\u0026s=76e5d0994eadc6e04f6722ce4ee7e220 560w, https://mintcdn.com/nativeflow/QMoGJuZEfQT0dul4/images/two_ways_to_build.png?w=840\u0026fit=max\u0026auto=format\u0026n=QMoGJuZEfQT0dul4\u0026q=85\u0026s=09b3716e52bfb6b6ed08d82444f60177 840w, https://mintcdn.com/nativeflow/QMoGJuZEfQT0dul4/images/two_ways_to_build.png?w=1100\u0026fit=max\u0026auto=format\u0026n=QMoGJuZEfQT0dul4\u0026q=85\u0026s=4615180a3d5ef87c060677a7118f92df 1100w, https://mintcdn.com/nativeflow/QMoGJuZEfQT0dul4/images/two_ways_to_build.png?w=1650\u0026fit=max\u0026auto=format\u0026n=QMoGJuZEfQT0dul4\u0026q=85\u0026s=6283eefd0925d343c4a902ed64b8196a 1650w, https://mintcdn.com/nativeflow/QMoGJuZEfQT0dul4/images/two_ways_to_build.png?w=2500\u0026fit=max\u0026auto=format\u0026n=QMoGJuZEfQT0dul4\u0026q=85\u0026s=923309bd47879d87f816ad1f5348fbf8 2500w`})}),`\n`,_jsx(_components.p,{children:_jsx(_components.strong,{children:`Two Ways to Build`})}),`\n`,_jsx(_components.p,{children:`NativeFlow Studio supports two approaches to building an app.`}),`\n`,_jsx(_components.p,{children:`The first is through an external agent. Using an agent of your choice, such as Claude or Cursor, connected to NativeFlow Studio via MCP, you can build the entire app from outside the Studio. The agent writes into the Studio the same way it would through any other MCP-governed tool surface, subject to the same SAC validation and change router as any other Agent-authored change.`}),`\n`,_jsxs(_components.p,{children:[`The second is through `,_jsx(_components.strong,{children:`Studio Assistant`}),`, the AI assistant built into the Studio itself. Instead of connecting an external agent, you prompt this assistant directly inside NativeFlow Studio, and it builds the app for you in the same environment.`]}),`\n`,_jsx(_components.p,{children:`Both approaches produce the same governed, SAC-validated output, the difference is where the Agent lives: outside the Studio via MCP, or inside the Studio as a built-in assistant.`})]})}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":{"config":{},"pageMetadata":{"title":"Two Ways to Build","description":"Building visually in NativeFlow Studio versus building programmatically with an AI agent.","href":"/overview/two-ways-to-build"}}},"mdxSourceWithNoJs":null},"mdxExtracts":{"tableOfContents":[],"codeExamples":{}},"jsLinks":[],"subdomain":"nativeflow","siteName":"NativeFlow Docs","title":"Two Ways to Build - NativeFlow Docs","navMaps":{"firstHrefInVersion":{},"firstHrefInLanguage":{}},"lastModified":"2026-07-09T18:27:30.521Z","originalFileLocation":"overview/two-ways-to-build.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=\"Building visually in NativeFlow Studio versus building programmatically with an AI agent.\">\u003cmeta data-mint-head name=\"application-name\" content=\"NativeFlow Docs\">\u003cmeta data-mint-head name=\"generator\" content=\"Mintlify\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"192x192\" href=\"/mintlify-assets/_mintlify/favicons/nativeflow/SIKlFF-IgBKGmHNO/_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/nativeflow/SIKlFF-IgBKGmHNO/_generated/favicon/apple-touch-icon.png\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/mintlify-assets/_mintlify/favicons/nativeflow/SIKlFF-IgBKGmHNO/_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/nativeflow/SIKlFF-IgBKGmHNO/_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/nativeflow/SIKlFF-IgBKGmHNO/_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/nativeflow/SIKlFF-IgBKGmHNO/_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/nativeflow/SIKlFF-IgBKGmHNO/_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/nativeflow/SIKlFF-IgBKGmHNO/_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/nativeflow/SIKlFF-IgBKGmHNO/_generated/favicon-dark/favicon.ico\" media=\"(prefers-color-scheme: dark)\">\u003cmeta data-mint-head property=\"og:title\" content=\"Two Ways to Build - NativeFlow Docs\">\u003cmeta data-mint-head property=\"og:description\" content=\"Building visually in NativeFlow Studio versus building programmatically with an AI agent.\">\u003cmeta data-mint-head property=\"og:site_name\" content=\"NativeFlow Docs\">\u003cmeta data-mint-head property=\"og:url\" content=\"https://docs.getnativeflow.com/overview/two-ways-to-build\">\u003cmeta data-mint-head property=\"og:type\" content=\"website\">\u003cmeta data-mint-head property=\"og:image\" content=\"https://nativeflow.mintlify.app/_mintlify/api/og/v2?division=Overview\u0026amp;title=Two+Ways+to+Build\u0026amp;description=Building+visually+in+NativeFlow+Studio+versus+building+programmatically+with+an+AI+agent.\u0026amp;theme=2934d0036a8a4864830399f0\u0026amp;signature=e3b7d531b2719073c04c7f74d7ff9c06a023b9f9e73d003748348455795c30bd\">\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=\"Two Ways to Build - NativeFlow Docs\">\u003cmeta data-mint-head name=\"twitter:description\" content=\"Building visually in NativeFlow Studio versus building programmatically with an AI agent.\">\u003cmeta data-mint-head name=\"twitter:image\" content=\"https://nativeflow.mintlify.app/_mintlify/api/og/v2?division=Overview\u0026amp;title=Two+Ways+to+Build\u0026amp;description=Building+visually+in+NativeFlow+Studio+versus+building+programmatically+with+an+AI+agent.\u0026amp;theme=2934d0036a8a4864830399f0\u0026amp;signature=e3b7d531b2719073c04c7f74d7ff9c06a023b9f9e73d003748348455795c30bd\">\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/nativeflow/SIKlFF-IgBKGmHNO/_generated/favicon/browserconfig.xml\">\u003cmeta data-mint-head name=\"apple-mobile-web-app-title\" content=\"NativeFlow Docs\">\u003cmeta data-mint-head name=\"msapplication-TileColor\" content=\"#6366F1\">\u003clink data-mint-head rel=\"canonical\" href=\"https://docs.getnativeflow.com/overview/two-ways-to-build\">\u003clink data-mint-head rel=\"alternate\" type=\"application/xml\" href=\"/sitemap.xml\">\u003clink data-mint-head rel=\"alternate\" type=\"text/markdown\" href=\"/overview/two-ways-to-build.md\">\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@graph\":[{\"@type\":\"Organization\",\"@id\":\"https://docs.getnativeflow.com/#organization\",\"name\":\"NativeFlow Docs\",\"url\":\"https://docs.getnativeflow.com\",\"logo\":{\"@type\":\"ImageObject\",\"url\":\"https://mintcdn.com/nativeflow/Ug1zLVZWXvlArouO/images/NativeFlow_Docs_Light.png?fit=max\u0026auto=format\u0026n=Ug1zLVZWXvlArouO\u0026q=85\u0026s=03a8599078b7e7a8b06ee7b2619c4ea7\"}},{\"@type\":\"WebSite\",\"@id\":\"https://docs.getnativeflow.com#website\",\"name\":\"NativeFlow Docs\",\"url\":\"https://docs.getnativeflow.com\",\"publisher\":{\"@id\":\"https://docs.getnativeflow.com/#organization\"}},{\"@type\":\"WebPage\",\"@id\":\"https://docs.getnativeflow.com/overview/two-ways-to-build#webpage\",\"url\":\"https://docs.getnativeflow.com/overview/two-ways-to-build\",\"name\":\"Two Ways to Build\",\"description\":\"Building visually in NativeFlow Studio versus building programmatically with an AI agent.\",\"dateModified\":\"2026-07-09T18:27:30.521Z\",\"isPartOf\":{\"@id\":\"https://docs.getnativeflow.com#website\"},\"breadcrumb\":{\"@id\":\"https://docs.getnativeflow.com/overview/two-ways-to-build#breadcrumb\"}},{\"@type\":\"BreadcrumbList\",\"@id\":\"https://docs.getnativeflow.com/overview/two-ways-to-build#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Overview\",\"item\":\"https://docs.getnativeflow.com/overview/introduction\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Two Ways to Build\",\"item\":\"https://docs.getnativeflow.com/overview/two-ways-to-build\"}]},{\"@type\":[\"Article\",\"TechArticle\"],\"@id\":\"https://docs.getnativeflow.com/overview/two-ways-to-build#article\",\"headline\":\"Two Ways to Build\",\"name\":\"Two Ways to Build\",\"description\":\"Building visually in NativeFlow Studio versus building programmatically with an AI agent.\",\"url\":\"https://docs.getnativeflow.com/overview/two-ways-to-build\",\"mainEntityOfPage\":{\"@id\":\"https://docs.getnativeflow.com/overview/two-ways-to-build#webpage\"},\"dateModified\":\"2026-07-09T18:27:30.521Z\",\"publisher\":{\"@id\":\"https://docs.getnativeflow.com/#organization\"},\"isPartOf\":{\"@id\":\"https://docs.getnativeflow.com#website\"}}]}\u003c/script>\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@type\":\"WebSite\",\"name\":\"NativeFlow Docs\",\"creator\":{\"@type\":\"Organization\",\"name\":\"Mintlify\",\"url\":\"https://mintlify.com\"}}\u003c/script>","siteName":"NativeFlow Docs","nav":{"global":null,"pages":[{"group":"Overview","pages":[{"title":"Introduction","href":"/overview/introduction"},{"title":"Generated App Architecture","href":"/overview/system-architecture"},{"title":"The Authoring Contract","description":"The shared schema that keeps Studio edits and agent-driven edits consistent with each other.","href":"/overview/authoring-contract"},{"title":"Two Ways to Build","href":"/overview/two-ways-to-build"},{"title":"Portability and Exit","description":"Your Code, Your Choice - No lock in.","href":"/overview/portability-and-exit"},{"title":"Roadmap","hidden":true,"href":"/overview/roadmap"}]},{"group":"Foundation","hidden":true,"pages":[{"title":"Create a Project","href":"/foundation/create-project"},{"title":"Import a Design System","href":"/foundation/import-design-system"},{"title":"Import User Stories","href":"/foundation/import-user-stories"},{"title":"Connect a Backend","href":"/foundation/connect-backend"}]},{"group":"Develop","hidden":true,"pages":[{"title":"Screens and Navigation","href":"/develop/screens-and-navigation"},{"title":"Components and Layout","href":"/develop/components-and-layout"},{"title":"Styling and Theming","href":"/develop/styling-and-theming"},{"title":"Authentication","href":"/develop/authentication"},{"title":"Backend and Data","href":"/develop/backend-and-data"},{"title":"Business Logic","href":"/develop/business-logic"},{"title":"API Binding","href":"/develop/api-binding"},{"title":"Cloud Functions","href":"/develop/cloud-functions"},{"title":"Localization","href":"/develop/localization"}]},{"group":"Review","hidden":true,"pages":[{"title":"Validate","href":"/review/validate"},{"title":"Preview","href":"/review/preview"},{"title":"Design QA","href":"/review/design-qa"},{"title":"Accessibility Review","href":"/review/accessibility-review"},{"title":"Collaboration and Environments","href":"/review/collaboration-and-environments"},{"title":"Audit Trail","href":"/review/audit-trail"}]},{"group":"Deploy","hidden":true,"pages":[{"title":"Export Code","href":"/deploy/export-code"},{"title":"Generate Builds","href":"/deploy/generate-builds"},{"title":"Publish","href":"/deploy/publish"},{"title":"Private / Enterprise Distribution","href":"/deploy/private-enterprise-distribution"},{"title":"Post-Launch Updates","href":"/deploy/post-launch-updates"}]},{"group":"Reference","hidden":true,"pages":[{"title":"Components","href":"/reference/components"},{"title":"Style Contract","href":"/reference/style-contract"},{"title":"Error Codes","href":"/reference/error-codes"},{"title":"Backend Conventions","href":"/reference/backend-conventions"},{"title":"Tool Catalog","href":"/reference/tool-catalog"},{"title":"Generated Code","href":"/reference/generated-code"}]},{"group":"Get Started","pages":[{"title":"Quickstart: Build Your First Screen","href":"/studio-guide/get-started/quickstart"},{"title":"Studio Interface Tour","href":"/studio-guide/get-started/interface-tour"},{"title":"Sign In to Studio","href":"/studio-guide/get-started/sign-in"}]},{"group":"Build","pages":[{"title":"Build Screens with AI","href":"/studio-guide/guides/build-screens-with-ai"},{"title":"Add and Configure Components","href":"/studio-guide/guides/add-and-configure-components"},{"title":"Pages and Navigation","href":"/studio-guide/guides/pages-and-navigation"},{"title":"Page Configuration","href":"/studio-guide/guides/page-configuration"},{"title":"Fine Tune the UI","href":"/studio-guide/guides/fine-tune-the-ui"}]},{"group":"Features","pages":[{"title":"Themed Components","href":"/studio-guide/features/themed-components"},{"title":"Component States and Variants","href":"/studio-guide/features/component-states-and-variants"},{"title":"Component Interactions","href":"/studio-guide/features/component-interactions"},{"title":"Theming","href":"/studio-guide/features/theming"},{"title":"App Settings","href":"/studio-guide/features/app-settings"},{"title":"Preview","href":"/studio-guide/features/preview"},{"title":"Skills","href":"/studio-guide/features/skills"}]},{"group":"Connect and ship","pages":[{"title":"Connect an API","href":"/studio-guide/guides/connect-an-api"},{"title":"Set Up Authentication","href":"/studio-guide/guides/set-up-authentication"},{"title":"Integrations","href":"/studio-guide/features/integrations"},{"title":"Media Assets","href":"/studio-guide/features/media-assets"},{"title":"Build an Android App","href":"/studio-guide/guides/build-android-app"}]},{"group":"Studio Reference","pages":[{"title":"Component Reference","href":"/studio-guide/reference/components"},{"title":"Component Properties","href":"/studio-guide/reference/component-properties"},{"title":"Themed Component Properties","href":"/studio-guide/reference/themed-component-properties"},{"title":"Action Reference","href":"/studio-guide/reference/actions"},{"title":"Style and Tokens","href":"/studio-guide/reference/style-and-tokens"},{"title":"Visibility Rules","href":"/studio-guide/reference/visibility-rules"}]},{"group":"Agent Integration","hidden":true,"pages":[{"title":"Overview","href":"/agent-integration/overview"},{"title":"MCP Setup","href":"/agent-integration/mcp-setup"},{"title":"Skills","href":"/agent-integration/skills"},{"title":"Self-Correction Loop","href":"/agent-integration/self-correction-loop"},{"title":"Contract Versioning","href":"/agent-integration/contract-versioning"},{"title":"Prompting Guide","href":"/agent-integration/prompting-guide"}]},{"group":"Integrations","hidden":true,"pages":[{"title":"Overview","href":"/integrations/overview"}]},{"group":"Enterprise \u0026 Governance","hidden":true,"pages":[{"title":"Overview","href":"/enterprise-governance/overview"},{"title":"Identity and Access","href":"/enterprise-governance/identity-and-access"},{"title":"Data Security","href":"/enterprise-governance/data-security"},{"title":"Compliance","href":"/enterprise-governance/compliance"},{"title":"AI Output Security","href":"/enterprise-governance/ai-output-security"},{"title":"Secrets Management","href":"/enterprise-governance/secrets-management"},{"title":"Audit Logging","href":"/enterprise-governance/audit-logging"},{"title":"Incident Response \u0026 SLA","href":"/enterprise-governance/incident-response-sla"},{"title":"Vulnerability Disclosure","href":"/enterprise-governance/vulnerability-disclosure"}]},{"group":"Guides","hidden":true,"pages":[{"title":"Guides","href":"/guides/index"}]},{"group":"Account \u0026 Billing","hidden":true,"pages":[{"title":"Plans, Credits \u0026 Usage","href":"/account-billing/plans-credits-usage"},{"title":"Subscriptions","href":"/account-billing/subscriptions"}]},{"group":"Changelog","hidden":true,"pages":[{"title":"Changelog","href":"/changelog"}]},{"title":"Favicon.svg","hidden":true,"href":"/favicon.svg"},{"title":"Light.svg","hidden":true,"href":"/logo/light.svg"},{"title":"Dark.svg","hidden":true,"href":"/logo/dark.svg"}]},"title":"Two Ways to Build - NativeFlow Docs","buildId":"dpl_9DauxEjb9gzCtcuhPQFbquJvx7FJ","deploymentId":"dpl_9DauxEjb9gzCtcuhPQFbquJvx7FJ","dynamics":["07c022d89b","a74be98ba7"],"chunks":["Frame-DpBmNN95.js","DynamicMarkdown-BY_qDhTn.js","zoom-image-lightbox-D4WcYaf4.js","PlusIcon-CwhPVjTe.js","lightbox-handle-r17bVUz3.js"]}