PageSourceSearch

https://builderstudio.dev/pricing

html builderstudio.dev collected 2026-10-09 22:53:47 UTC 49,228 bytes, 691 lines download raw bytes

1<!doctype html>
2<html lang="en" class="app-shell-loading" data-beasties-container="">
3  <head>
3<script>window.__APP_CONFIG__={"apiBaseUrl":"https://api.wundership.com/api"};</script>
3<script defer src="https://cloud.umami.is/script.js" data-website-id="3c370669-21e5-45fc-8dd6-e9223236b4be"></script>
3<meta name="x-ssr-rendered" content="true">
4    <meta charset="utf-8">
5    <title>BuilderStudio | Agentic Creation</title>
6    <base href="/">
7    <meta name="viewport" content="width=device-width, initial-scale=1, interactive-widget=resizes-content">
8    <meta name="description" content="Download BuilderStudio, the free local-first agentic coding IDE for macOS, Windows, and Linux with MCP, Skills, Agentic Swarms, secure previews, source editing, packaging, and deployment handoff.">
9    <meta name="robots" content="index,follow">
10    <link rel="canonical" href="https://builderstudio.dev/ide">
11
12    <meta property="og:site_name" content="BuilderStudio">
13    <meta property="og:type" content="website">
14    <meta property="og:url" content="https://builderstudio.dev/ide">
15    <meta property="og:title" content="BuilderStudio | Agentic Creation">
16    <meta property="og:description" content="Download BuilderStudio, the free local-first agentic coding IDE for macOS, Windows, and Linux with MCP, Skills, Agentic Swarms, secure previews, source editing, packaging, and deployment handoff.">
17    <meta property="og:image" content="https://builderstudio.dev/assets/banner.png">
18    <meta property="og:image:secure_url" content="https://builderstudio.dev/assets/banner.png">
19    <meta property="og:image:type" content="image/png">
20    <meta property="og:image:alt" content="BuilderStudio local-first agentic coding IDE">
21
22    <meta name="twitter:card" content="summary_large_image">
23    <meta name="twitter:title" content="BuilderStudio | Agentic Creation">
24    <meta name="twitter:description" content="Download BuilderStudio, the free local-first agentic coding IDE for macOS, Windows, and Linux with MCP, Skills, Agentic Swarms, secure previews, source editing, packaging, and deployment handoff.">
25    <meta name="twitter:image" content="https://builderstudio.dev/assets/banner.png">
26    <link rel="icon" type="image/x-icon" href="/assets/favicon.ico">
27    <link rel="shortcut icon" type="image/x-icon" href="/assets/favicon.ico">
28    <link rel="apple-touch-icon" href="/assets/banner.png">
29    <link rel="preconnect" href="https://fonts.googleapis.com">
30    <link rel="preconnect" href="https://fonts.gstatic.com" crossorigin="">
31    <style>@font-face{font-family:'Geist';font-style:normal;font-weight:400;font-display:swap;src:url(https://fonts.gstatic.com/s/geist/v5/gyByhwUxId8gMEwRGFWfOw.woff2) format('woff2');unicode-range:U+0460-052F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;}@font-face{font-family:'Geist';font-style:normal;font-weight:400;font-display:swap;src:url(https://fonts.gstatic.com/s/geist/v5/gyByhwUxId8gMEwYGFWfOw.woff2) format('woff2');unicode-range:U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;}@font-face{font-family:'Geist';font-style:normal;font-weight:400;font-display:swap;src:url(https://fonts.gstatic.com/s/geist/v5/gyByhwUxId8gMEwTGFWfOw.woff2) format('woff2');unicode-range:U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB;}@font-face{font-family:'Geist';font-style:normal;font-weight:400;font-display:swap;src:url(https://fonts.gstatic.com/s/geist/v5/gyByhwUxId8gMEwSGFWfOw.woff2) format('woff2');unicode-range:U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;}@font-face{font-family:'Geist';font-style:normal;font-weight:400;font-display:swap;src:url(https://fonts.gstatic.com/s/geist/v5/gyByhwUxId8gMEwcGFU.woff2) format('woff2');unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;}@font-face{font-family:'Geist';font-style:normal;font-weight:500;font-display:swap;src:url(https://fonts.gstatic.com/s/geist/v5/gyByhwUxId8gMEwRGFWfOw.woff2) format('woff2');unicode-range:U+0460-052F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;}@font-face{font-family:'Geist';font-style:normal;font-weight:500;font-display:swap;
31src:url(https://fonts.gstatic.com/s/geist/v5/gyByhwUxId8gMEwYGFWfOw.woff2) format('woff2');unicode-range:U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;}@font-face{font-family:'Geist';font-style:normal;font-weight:500;font-display:swap;src:url(https://fonts.gstatic.com/s/geist/v5/gyByhwUxId8gMEwTGFWfOw.woff2) format('woff2');unicode-range:U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB;}@font-face{font-family:'Geist';font-style:normal;font-weight:500;font-display:swap;src:url(https://fonts.gstatic.com/s/geist/v5/gyByhwUxId8gMEwSGFWfOw.woff2) format('woff2');unicode-range:U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;}@font-face{font-family:'Geist';font-style:normal;font-weight:500;font-display:swap;src:url(https://fonts.gstatic.com/s/geist/v5/gyByhwUxId8gMEwcGFU.woff2) format('woff2');unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;}@font-face{font-family:'Geist';font-style:normal;font-weight:600;font-display:swap;src:url(https://fonts.gstatic.com/s/geist/v5/gyByhwUxId8gMEwRGFWfOw.woff2) format('woff2');unicode-range:U+0460-052F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;}@font-face{font-family:'Geist';font-style:normal;font-weight:600;font-display:swap;src:url(https://fonts.gstatic.com/s/geist/v5/gyByhwUxId8gMEwYGFWfOw.woff2) format('woff2');unicode-range:U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;}@font-face{font-family:'Geist';font-style:normal;font-weight:600;font-display:swap;src:url(https://fonts.gstatic.com/s/geist/v5/gyByhwUxId8gMEwTGFWfOw.woff2) format('woff2');unicode-range:U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB;}@font-face{font-family:'Geist';font-style:normal;font-weight:600;font-display:swap;src:url(https://fonts.gstatic.com/s/geist/v5/gyByhwUxId8gMEwSGFWfOw.woff2) format('woff2');unicode-range:U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;}@font-face{font-family:'Geist';font-style:normal;font-weight:600;font-display:swap;src:url(https://fonts.gstatic.com/s/geist/v5/gyByhwUxId8gMEwcGFU.woff2) format('woff2');unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;}@font-face{font-family:'Geist Mono';font-style:normal;font-weight:400;font-display:swap;src:url(https://fonts.gstatic.com/s/geistmono/v6/or3nQ6H-1_WfwkMZI_qYFrodmgPn.woff2) format('woff2');unicode-range:U+0460-052F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;}@font-face{font-family:'Geist Mono';font-style:normal;font-weight:400;font-display:swap;src:url(https://fonts.gstatic.com/s/geistmono/v6/or3nQ6H-1_WfwkMZI_qYFrMdmgPn.woff2) format('woff2');unicode-range:U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;}@font-face{font-family:'Geist Mono';font-style:normal;font-weight:400;font-display:swap;src:url(https://fonts.gstatic.com/s/geistmono/v6/or3nQ6H-1_WfwkMZI_qYFg08vz7ehw.woff2) format('woff2');unicode-range:U+2000-2001, U+2004-2008, U+200A, U+23B8-23BD, U+2500-259F;}@font-face{font-family:'Geist Mono';font-style:normal;font-weight:400;font-display:swap;src:url(https://fonts.gstatic.com/s/geistmono/v6/or3nQ6H-1_WfwkMZI_qYFrgdmgPn.woff2) format('woff2');unicode-range:U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB;}@font-face{font-family:'Geist Mono';font-style:normal;font-weight:400;font-display:swap;
31src:url(https://fonts.gstatic.com/s/geistmono/v6/or3nQ6H-1_WfwkMZI_qYFrkdmgPn.woff2) format('woff2');unicode-range:U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;}@font-face{font-family:'Geist Mono';font-style:normal;font-weight:400;font-display:swap;src:url(https://fonts.gstatic.com/s/geistmono/v6/or3nQ6H-1_WfwkMZI_qYFrcdmg.woff2) format('woff2');unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;}@font-face{font-family:'Geist Mono';font-style:normal;font-weight:500;font-display:swap;src:url(https://fonts.gstatic.com/s/geistmono/v6/or3nQ6H-1_WfwkMZI_qYFrodmgPn.woff2) format('woff2');unicode-range:U+0460-052F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;}@font-face{font-family:'Geist Mono';font-style:normal;font-weight:500;font-display:swap;src:url(https://fonts.gstatic.com/s/geistmono/v6/or3nQ6H-1_WfwkMZI_qYFrMdmgPn.woff2) format('woff2');unicode-range:U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;}@font-face{font-family:'Geist Mono';font-style:normal;font-weight:500;font-display:swap;src:url(https://fonts.gstatic.com/s/geistmono/v6/or3nQ6H-1_WfwkMZI_qYFg08vz7ehw.woff2) format('woff2');unicode-range:U+2000-2001, U+2004-2008, U+200A, U+23B8-23BD, U+2500-259F;}@font-face{font-family:'Geist Mono';font-style:normal;font-weight:500;font-display:swap;src:url(https://fonts.gstatic.com/s/geistmono/v6/or3nQ6H-1_WfwkMZI_qYFrgdmgPn.woff2) format('woff2');unicode-range:U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB;}@font-face{font-family:'Geist Mono';font-style:normal;font-weight:500;font-display:swap;src:url(https://fonts.gstatic.com/s/geistmono/v6/or3nQ6H-1_WfwkMZI_qYFrkdmgPn.woff2) format('woff2');unicode-range:U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;}@font-face{font-family:'Geist Mono';font-style:normal;font-weight:500;font-display:swap;src:url(https://fonts.gstatic.com/s/geistmono/v6/or3nQ6H-1_WfwkMZI_qYFrcdmg.woff2) format('woff2');unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;}@font-face{font-family:'Geist Mono';font-style:normal;font-weight:600;font-display:swap;src:url(https://fonts.gstatic.com/s/geistmono/v6/or3nQ6H-1_WfwkMZI_qYFrodmgPn.woff2) format('woff2');unicode-range:U+0460-052F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;}@font-face{font-family:'Geist Mono';font-style:normal;font-weight:600;font-display:swap;src:url(https://fonts.gstatic.com/s/geistmono/v6/or3nQ6H-1_WfwkMZI_qYFrMdmgPn.woff2) format('woff2');unicode-range:U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;}@font-face{font-family:'Geist Mono';font-style:normal;font-weight:600;font-display:swap;src:url(https://fonts.gstatic.com/s/geistmono/v6/or3nQ6H-1_WfwkMZI_qYFg08vz7ehw.woff2) format('woff2');unicode-range:U+2000-2001, U+2004-2008, U+200A, U+23B8-23BD, U+2500-259F;}@font-face{font-family:'Geist Mono';font-style:normal;font-weight:600;font-display:swap;src:url(https://fonts.gstatic.com/s/geistmono/v6/or3nQ6H-1_WfwkMZI_qYFrgdmgPn.woff2) format('woff2');unicode-range:U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB;}@font-face{font-family:'Geist Mono';font-style:normal;font-weight:600;font-display:swap;src:url(https://fonts.gstatic.com/s/geistmono/v6/or3nQ6H-1_WfwkMZI_qYFrkdmgPn.woff2) format('woff2');unicode-range:U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;}@font-face{font-family:'Geist Mono';font-style:normal;font-weight:600;font-display:swap;
31src:url(https://fonts.gstatic.com/s/geistmono/v6/or3nQ6H-1_WfwkMZI_qYFrcdmg.woff2) format('woff2');unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;}</style>
32    <link rel="stylesheet" href="https://unpkg.com/@phosphor-icons/[email protected]/src/regular/style.css">
33    <link rel="stylesheet" href="https://unpkg.com/@phosphor-icons/[email protected]/src/fill/style.css">
34    
34<script async="" src="https://unpkg.com/[email protected]/dist/es-module-shims.js"></script>
34
35    
35<script type="importmap">
36      {
37        "imports": {
38          "three": "https://cdn.jsdelivr.net/npm/[email protected]/build/three.module.js",
39          "three/addons/": "https://cdn.jsdelivr.net/npm/[email protected]/examples/jsm/",
40          "lil-gui": "https://unpkg.com/[email protected]/dist/lil-gui.esm.min.js"
41        }
42      }
43    </script>
43
44    
44<script>
45      (function () {
46        var normalizedHost = (window.location.hostname || "").replace(/^www\./, "").toLowerCase();
47        var isProfileHost = normalizedHost === "launch.you";
48        var isStartupHost = normalizedHost === "startup.you";
49        var currentPath = window.location.pathname || "/";
50        var isStartupPath = currentPath === "/startup" || currentPath.indexOf("/startup/") === 0;
51        var isBaseShipYouHome = normalizedHost === "ship.you" && (currentPath === "/" || currentPath === "");
52        var isBuilderStudioDownloadPath =
53          !isStartupHost &&
54          !isProfileHost &&
55          (currentPath === "/" || currentPath === "/ide" || currentPath === "/studio" || currentPath === "/builderstudio" || currentPath === "/download");
56        var builderStudioOrigin = "https://builderstudio.dev";
57        var profileOrigin = "https://launch.you";
58        var startupOrigin = "https://startup.you";
59
60        if (isBaseShipYouHome) {
61          window.location.replace(builderStudioOrigin + "/ide" + window.location.search + window.location.hash);
62          return;
63        }
64
65        var activeOrigin = isStartupHost || isStartupPath ? startupOrigin : isProfileHost ? profileOrigin : builderStudioOrigin;
66        var activeCanonicalUrl = isBuilderStudioDownloadPath ? builderStudioOrigin + "/ide" : activeOrigin + "/";
67        var activeImageUrl = isStartupHost || isStartupPath ? startupOrigin + "/assets/banner.png" : activeOrigin + "/assets/banner.png";
68        var activeSiteName = isStartupHost || isStartupPath ? "BuilderStudio by WunderCorp" : isProfileHost ? "BuilderStudio by WunderCorp" : "BuilderStudio";
69        var activeTitle =
70          isStartupHost || isStartupPath
71            ? "BuilderStudio by WunderCorp"
72            : isProfileHost
73              ? "BuilderStudio by WunderCorp"
74              : "BuilderStudio | Agentic Creation";
75        var activeDescription =
76          isStartupHost || isStartupPath
77            ? "BuilderStudio by WunderCorp, Inc is an agentic IDE for developers to automate app creation and more."
78            : isProfileHost
79              ? "BuilderStudio by WunderCorp, Inc is an agentic IDE for developers to automate app creation and more."
80              : "Download BuilderStudio, the free local-first agentic coding IDE for macOS, Windows, and Linux with MCP, Skills, Agentic Swarms, secure previews, source editing, packaging, and deployment handoff.";
81
82        if (isProfileHost) {
83          document.documentElement.setAttribute("data-launch-you-host", "true");
84        }
85
86        if (isStartupHost || isStartupPath) {
87          document.documentElement.setAttribute("data-startup-you-host", "true");
88        }
89
90        document.title = activeTitle;
91
92        var descriptionMeta = document.querySelector('meta[name="description"]');
93        if (descriptionMeta) {
94          descriptionMeta.setAttribute("content", activeDescription);
95        }
96
97        var canonicalLink = document.querySelector('link[rel="canonical"]');
98        if (canonicalLink) {
99          canonicalLink.setAttribute("href", activeCanonicalUrl);
100        }
101
102        var ogSiteNameMeta = document.querySelector('meta[property="og:site_name"]');
103        if (ogSiteNameMeta) {
104          ogSiteNameMeta.setAttribute("content", activeSiteName);
105        }
106
107        var ogTitleMeta = document.querySelector('meta[property="og:title"]');
108        if (ogTitleMeta) {
109          ogTitleMeta.setAttribute("content", activeTitle);
110        }
111
112        var ogDescriptionMeta = document.querySelector('meta[property="og:description"]');
113        if (ogDescriptionMeta) {
114          ogDescriptionMeta.setAttribute("content", activeDescription);
115        }
116
117        var twitterTitleMeta = document.querySelector('meta[name="twitter:title"]');
118        if (twitterTitleMeta) {
119          twitterTitleMeta.setAttribute("content", activeTitle);
120        }
121
122        var twitterDescriptionMeta = document.querySelector('meta[name="twitter:description"]');
123        if (twitterDescriptionMeta) {
124          twitterDescriptionMeta.setAttribute("content", activeDescription);
125        }
126
127        var ogUrlMeta = document.querySelector('meta[property="og:url"]');
128        if (ogUrlMeta) {
129          ogUrlMeta.setAttribute("content", activeCanonicalUrl);
130        }
131
132        var ogImageMeta = document.querySelector('meta[property="og:image"]');
133        if (ogImageMeta) {
134          ogImageMeta.setAttribute("content", activeImageUrl);
135        }
136
137        var ogSecureImageMeta = document.querySelector('meta[property="og:image:secure_url"]');
138        if (ogSecureImageMeta) {
139          ogSecureImageMeta.setAttribute("content", activeImageUrl);
140        }
141
142        var twitterImageMeta = document.querySelector('meta[name="twitter:image"]');
143        if (twitterImageMeta) {
144          twitterImageMeta.setAttribute("content", activeImageUrl);
145        }
146
147        var structuredDataElement = document.getElementById("default-site-structured-data");
148        if (structuredDataElement) {
149          structuredDataElement.textContent = JSON.stringify({
150            "@context": "https://schema.org",
151            "@graph": [
152              {
153                "@type": "Organization",
154                name: activeSiteName,
155                url: activeOrigin + "/",
156                logo: builderStudioOrigin + "/assets/banner.png",
157                image: activeImageUrl,
158                sameAs: ["https://github.com/wundercorp", "https://www.instagram.com/wundercorp/"],
159              },
160              {
161                "@type": "WebSite",
162                name: activeSiteName,
163                url: activeOrigin + "/",
164                description: activeDescription,
165              },
166              {
167                "@type": "WebPage",
168                name: activeTitle,
169                url: activeCanonicalUrl,
170                description: activeDescription,
171                isPartOf: {
172                  "@type": "WebSite",
173                  name: activeSiteName,
174                  url: activeOrigin + "/",
175                },
176              },
177            ],
178          });
179        }
180
181        document.documentElement.classList.add("app-shell-loading");
182      })();
183    </script>
183
184    
184<script id="default-site-structured-data" type="application/ld+json">
185      {
186        "@context": "https://schema.org",
187        "@graph": [
188          {
189            "@type": "Organization",
190            "name": "BuilderStudio",
191            "url": "https://builderstudio.dev/",
192            "logo": "https://builderstudio.dev/assets/banner.png",
193            "image": "https://builderstudio.dev/assets/banner.png",
194            "sameAs": ["https://github.com/wundercorp", "https://www.instagram.com/wundercorp/"]
195          },
196          {
197            "@type": "WebSite",
198            "name": "BuilderStudio",
199            "url": "https://builderstudio.dev/",
200            "description": "Download BuilderStudio, the free local-first agentic coding IDE for macOS, Windows, and Linux with MCP, Skills, Agentic Swarms, secure previews, source editing, packaging, and deployment handoff.",
201          },
202          {
203            "@type": "WebPage",
204            "name": "BuilderStudio | Agentic Creation",
205            "url": "https://builderstudio.dev/ide",
206            "description": "Download BuilderStudio, the free local-first agentic coding IDE for macOS, Windows, and Linux with MCP, Skills, Agentic Swarms, secure previews, source editing, packaging, and deployment handoff.",
207            "isPartOf": {
208              "@type": "WebSite",
209              "name": "BuilderStudio",
210              "url": "https://builderstudio.dev/"
211            }
212          }
213        ]
214      }
215    </script>
215
216
217    
217<script>
218      (function () {
219        try {
220          var storedTheme = window.localStorage.getItem("marketflow.theme");
221          var resolvedTheme = storedTheme === "dark" ? "dark" : "light";
222          document.documentElement.setAttribute("data-theme", resolvedTheme);
223        } catch (error) {
224          document.documentElement.setAttribute("data-theme", "light");
225        }
226      })();
227    </script>
227
228
229    <style>
230      :root,
231      :root[data-theme="light"] {
232        color-scheme: light;
233        --bg: #ffffff;
234        --bg-soft: #ffffff;
235        --panel: rgba(255, 255, 255, 0.92);
236        --line: rgba(15, 23, 42, 0.12);
237        --text: #0f172a;
238        --muted: #525252;
239        --brand: #111111;
240        --brand-strong: #000000;
241        --loader-overlay: rgba(250, 250, 250, 0.96);
242        --loader-surface: rgba(255, 255, 255, 0.92);
243        --loader-surface-strong: rgba(255, 255, 255, 0.98);
244        --loader-card-border: rgba(24, 24, 27, 0.12);
245        --loader-card-shadow: 0 1px 2px rgba(24, 24, 27, 0.05), 0 20px 55px rgba(24, 24, 27, 0.1);
246        --loader-spinner-track: rgba(24, 24, 27, 0.1);
247        --loader-progress-track: rgba(24, 24, 27, 0.08);
248        --loader-refresh-bg: rgba(255, 255, 255, 0.92);
249        --loader-refresh-bg-hover: rgba(248, 250, 252, 1);
250        --loader-refresh-border: rgba(24, 24, 27, 0.12);
251        --loader-refresh-border-hover: rgba(24, 24, 27, 0.22);
252        --loader-refresh-text: #71717a;
253        --loader-refresh-button-text: #09090b;
254      }
255
256      :root[data-theme="dark"] {
257        color-scheme: dark;
258        --bg: #000000;
259        --bg-soft: #050505;
260        --panel: rgba(0, 0, 0, 0.92);
261        --line: rgba(255, 255, 255, 0.14);
262        --text: #ffffff;
263        --muted: #a1a1aa;
264        --brand: #f5f5f5;
265        --brand-strong: #ffffff;
266        --loader-overlay: rgba(0, 0, 0, 0.92);
267        --loader-surface: rgba(9, 9, 11, 0.74);
268        --loader-surface-strong: rgba(9, 9, 11, 0.94);
269        --loader-card-border: rgba(255, 255, 255, 0.12);
270        --loader-card-shadow: 0 1px 2px rgba(0, 0, 0, 0.35), 0 20px 65px rgba(0, 0, 0, 0.46);
271        --loader-spinner-track: rgba(255, 255, 255, 0.12);
272        --loader-progress-track: rgba(255, 255, 255, 0.08);
273        --loader-refresh-bg: rgba(255, 255, 255, 0.08);
274        --loader-refresh-bg-hover: rgba(255, 255, 255, 0.12);
275        --loader-refresh-border: rgba(255, 255, 255, 0.14);
276        --loader-refresh-border-hover: rgba(255, 255, 255, 0.22);
277        --loader-refresh-text: #a1a1aa;
278        --loader-refresh-button-text: #ffffff;
279      }
280
281      html[data-launch-you-host="true"] app-site-header,
282      html[data-launch-you-host="true"] app-site-footer {
283        display: none !important;
284      }
285
286      html[data-launch-you-host="true"] .app-page-shell--public-profile {
287        padding: 0 !important;
288      }
289
290      body.app-shell-loading {
291        overflow: hidden;
292      }
293
294      .boot-loading-shell {
295        position: relative;
296        display: grid;
297        align-items: center;
298        justify-items: center;
299        min-height: 100vh;
300        min-height: 100dvh;
301        padding: max(1rem, env(safe-area-inset-top)) 1rem max(1rem, env(safe-area-inset-bottom));
302        overflow: hidden;
303        background: var(--bg);
304        color: var(--text);
305        font-family:
306          "Geist",
307          ui-sans-serif,
308          system-ui,
309          -apple-system,
310          BlinkMacSystemFont,
311          "Segoe UI",
312          sans-serif;
313      }
314
315      .boot-loading-shell__glow {
316        position: absolute;
317        inset: 0;
318        background: linear-gradient(180deg, transparent, transparent);
319        opacity: 0.9;
320        pointer-events: none;
321      }
322
323      .boot-loading-shell__card {
324        position: relative;
325        z-index: 1;
326        display: grid;
327        justify-items: center;
328        gap: 0.85rem;
329        width: min(24rem, 100%);
330        padding: 1.5rem;
331        border: 1px solid var(--loader-card-border);
332        border-radius: 1.5rem;
333        background: var(--loader-surface-strong);
334        box-shadow: var(--loader-card-shadow);
335        text-align: center;
336        backdrop-filter: blur(16px);
337      }
338
339      .boot-loading-shell__mark {
340        position: relative;
341        display: grid;
342        place-items: center;
343        width: 3rem;
344        height: 3rem;
345        border: 1px solid var(--loader-card-border);
346        border-radius: 1rem;
347        background: color-mix(in srgb, var(--loader-surface-strong) 90%, var(--text) 10%);
348        box-shadow: inset 0 1px 0 color-mix(in srgb, #ffffff 38%, transparent);
349      }
350
351      .boot-loading-shell__mark::before,
352      .boot-loading-shell__mark::after,
353      .boot-loading-shell__mark-dot {
354        content: "";
355        position: absolute;
356        width: 0.55rem;
357        height: 0.55rem;
358        border-radius: 999px;
359        background: var(--text);
360        animation: boot-loading-shell-pulse 1.25s ease-in-out infinite;
361      }
362
363      .boot-loading-shell__mark::before {
364        --dot-offset: -0.7rem;
365        transform: translateX(var(--dot-offset));
366        animation-delay: 0s;
367      }
368
369      .boot-loading-shell__mark-dot {
370        --dot-offset: 0rem;
371        transform: translateX(var(--dot-offset));
372        animation-delay: 0.16s;
373      }
374
375      .boot-loading-shell__mark::after {
376        --dot-offset: 0.7rem;
377        transform: translateX(var(--dot-offset));
378        animation-delay: 0.32s;
379      }
380
381      .boot-loading-shell__eyebrow {
382        display: inline-flex;
383        align-items: center;
384        min-height: 1.5rem;
385        padding: 0 0.65rem;
386        border: 1px solid var(--loader-card-border);
387        border-radius: 999px;
388        background: var(--loader-surface);
389        font-size: 0.72rem;
390        font-weight: 600;
391        letter-spacing: 0.04em;
392        color: var(--muted);
393      }
394
395      .boot-loading-shell__title {
396        font-size: clamp(1.25rem, 2.4vw, 1.6rem);
397        font-weight: 650;
398        letter-spacing: -0.03em;
399      }
400
401      .boot-loading-shell__copy {
402        max-width: 21rem;
403        margin: -0.2rem 0 0;
404        font-size: 0.92rem;
405        line-height: 1.6;
406        color: var(--muted);
407      }
408
409      .app-shell-loading-overlay {
410        position: fixed;
411        inset: 0;
412        z-index: 2147483647;
413        display: grid;
414        align-items: center;
415        justify-items: center;
416        padding: max(1rem, env(safe-area-inset-top)) 1rem max(1rem, env(safe-area-inset-bottom));
417        background: var(--loader-overlay);
418        backdrop-filter: blur(12px);
419        opacity: 1;
420        visibility: visible;
421        transition:
422          opacity 0.2s ease,
423          visibility 0.2s ease;
424        pointer-events: auto;
425      }
426
427      .app-shell-loading-overlay__card {
428        position: relative;
429        display: grid;
430        justify-items: center;
431        gap: 0.85rem;
432        width: min(24rem, 100%);
433        padding: 1.5rem;
434        border-radius: 1.5rem;
435        border: 1px solid var(--loader-card-border);
436        background: var(--loader-surface-strong);
437        box-shadow: var(--loader-card-shadow);
438        color: var(--text);
439        text-align: center;
440        backdrop-filter: blur(16px);
441      }
442
443      .app-shell-loading-overlay__progress {
444        position: relative;
445        width: min(15rem, 100%);
446        height: 0.45rem;
447        overflow: hidden;
448        border-radius: 999px;
449        background: var(--loader-progress-track);
450      }
451
452      .app-shell-loading-overlay__progress::after {
453        content: "";
454        position: absolute;
455        inset: 0;
456        width: 38%;
457        border-radius: inherit;
458        background: var(--text);
459        animation: app-shell-loading-slide 1.15s ease-in-out infinite;
460      }
461
462      .app-loading-refresh {
463        display: none;
464        justify-items: center;
465        gap: 0.45rem;
466        opacity: 0;
467        pointer-events: none;
468      }
469
470      .app-loading-refresh--visible {
471        display: grid;
472        animation: app-loading-refresh-reveal 0.2s ease forwards;
473      }
474
475      .app-loading-refresh__text {
476        font-size: 0.82rem;
477        color: var(--loader-refresh-text);
478      }
479
480      .app-loading-refresh__button {
481        appearance: none;
482        border: 1px solid var(--loader-refresh-border);
483        border-radius: 0.75rem;
484        background: var(--loader-refresh-bg);
485        color: var(--loader-refresh-button-text);
486        padding: 0.52rem 0.88rem;
487        font: inherit;
488        font-size: 0.86rem;
489        font-weight: 600;
490        cursor: pointer;
491        transition:
492          background 0.18s ease,
493          border-color 0.18s ease,
494          transform 0.18s ease,
495          opacity 0.18s ease;
496      }
497
498      .app-loading-refresh__button:hover {
499        background: var(--loader-refresh-bg-hover);
500        border-color: var(--loader-refresh-border-hover);
501        transform: translateY(-1px);
502      }
503
504      .app-loading-refresh__button:focus-visible {
505        outline: 2px solid var(--text);
506        outline-offset: 3px;
507      }
508
509      .app-loading-refresh__button:disabled {
510        cursor: wait;
511        opacity: 0.7;
512        transform: none;
513      }
514
515      .app-boot-loader--hidden {
516        opacity: 0;
517        visibility: hidden;
518        pointer-events: none;
519      }
520
521      @keyframes app-loading-refresh-reveal {
522        from {
523          opacity: 0;
524          transform: translateY(-0.15rem);
525        }
526
527        to {
528          opacity: 1;
529          pointer-events: auto;
530          transform: translateY(0);
531        }
532      }
533
534      @keyframes boot-loading-shell-pulse {
535        0%,
536        100% {
537          opacity: 0.35;
538          transform: translateX(var(--dot-offset, 0)) scale(0.86);
539        }
540        50% {
541          opacity: 1;
542          transform: translateX(var(--dot-offset, 0)) scale(1);
543        }
544      }
545
546
547
548      .boot-seo-fallback {
549        width: min(100% - 2rem, 68rem);
550        margin: 1.5rem auto 3rem;
551        padding: 1.5rem;
552        border: 1px solid var(--loader-card-border);
553        border-radius: 1.25rem;
554        background: var(--loader-surface);
555        color: var(--text);
556        font-family:
557          "Geist",
558          ui-sans-serif,
559          system-ui,
560          -apple-system,
561          BlinkMacSystemFont,
562          "Segoe UI",
563          sans-serif;
564        line-height: 1.65;
565      }
566
567      .boot-seo-fallback h1,
568      .boot-seo-fallback h2 {
569        margin: 0 0 0.75rem;
570        color: var(--text);
571        letter-spacing: -0.04em;
572        line-height: 1.05;
573      }
574
575      .boot-seo-fallback h1 {
576        font-size: clamp(2rem, 7vw, 4rem);
577      }
578
579      .boot-seo-fallback h2 {
580        margin-top: 1.5rem;
581        font-size: clamp(1.35rem, 3vw, 2rem);
582      }
583
584      .boot-seo-fallback p {
585        margin: 0 0 1rem;
586        color: var(--muted);
587      }
588
589      .boot-seo-fallback nav {
590        display: flex;
591        flex-wrap: wrap;
592        gap: 0.75rem;
593        margin-top: 1.25rem;
594      }
595
596      .boot-seo-fallback a {
597        display: inline-flex;
598        align-items: center;
599        min-height: 2.5rem;
600        border: 1px solid var(--loader-refresh-border);
601        border-radius: 999px;
602        padding: 0 1rem;
603        color: var(--loader-refresh-button-text);
604        text-decoration: none;
605        font-weight: 700;
606      }
607
608      @keyframes app-shell-loading-slide {
609        0% {
610          transform: translateX(-115%);
611        }
612        100% {
613          transform: translateX(260%);
614        }
615      }
616    </style>
617    
617<script src="https://scripts.refgrowcdn.com/latest.js" data-project-id="933" data-param="ref" data-cookie-days="30" async="" defer=""></script>
617
618  <style>@layer properties;@layer theme,base,components,utilities;@layer theme{:root{--font-sans:ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";--font-mono:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--color-red-200:oklch(88.5% .062 18.334);--color-red-400:oklch(70.4% .191 22.216);--color-red-500:oklch(63.7% .237 25.331);--color-emerald-400:oklch(76.5% .177 163.223);--color-blue-400:oklch(70.7% .165 254.624);--color-violet-400:oklch(70.2% .183 293.541);--color-slate-300:oklch(86.9% .022 252.894);--color-slate-600:oklch(44.6% .043 257.281);--color-slate-900:oklch(20.8% .042 265.755);--color-slate-950:oklch(12.9% .042 264.695);--color-gray-500:oklch(55.1% .027 264.364);--color-zinc-200:oklch(92% .004 286.32);--color-zinc-300:oklch(87.1% .006 286.286);--color-zinc-400:oklch(70.5% .015 286.067);--color-zinc-500:oklch(55.2% .016 285.938);--color-black:#000;--color-white:#fff;--spacing:.25rem;--container-xs:20rem;--container-sm:24rem;--container-md:28rem;--container-lg:32rem;--container-xl:36rem;--container-2xl:42rem;--container-3xl:48rem;--container-4xl:56rem;--text-xs:.75rem;--text-xs--line-height:calc(1 / .75);--text-sm:.875rem;--text-sm--line-height:calc(1.25 / .875);--text-base:1rem;--text-base--line-height:1.5 ;--text-lg:1.125rem;--text-lg--line-height:calc(1.75 / 1.125);--text-xl:1.25rem;--text-xl--line-height:calc(1.75 / 1.25);--text-2xl:1.5rem;--text-2xl--line-height:calc(2 / 1.5);--text-3xl:1.875rem;--text-3xl--line-height:1.2 ;--text-4xl:2.25rem;--text-4xl--line-height:calc(2.5 / 2.25);--text-5xl:3rem;--text-5xl--line-height:1;--text-6xl:3.75rem;--text-6xl--line-height:1;--font-weight-medium:500;--font-weight-semibold:600;--font-weight-bold:700;--font-weight-black:900;--tracking-tight:-.025em;--radius-lg:.5rem;--radius-xl:.75rem;--radius-2xl:1rem;--radius-3xl:1.5rem;--ease-out:cubic-bezier(0, 0, .2, 1);--ease-in-out:cubic-bezier(.4, 0, .2, 1);--animate-pulse:pulse 2s cubic-bezier(.4, 0, .6, 1) infinite;--blur-xl:24px;--blur-2xl:40px;--blur-3xl:64px;--default-transition-duration:.15s;--default-transition-timing-function:cubic-bezier(.4, 0, .2, 1);--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono)}}@layer base{*,:after,:before{box-sizing:border-box;margin:0;padding:0;border:0 solid}html{line-height:1.5;-webkit-text-size-adjust:100%;tab-size:4;font-family:var(--default-font-family, ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings, normal);font-variation-settings:var(--default-font-variation-settings, normal);-webkit-tap-highlight-color:transparent}h1,h2{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;border-radius:0;background-color:transparent;opacity:1}button{appearance:button}}@layer utilities{}html,body{width:100%;overflow-x:clip}html{scrollbar-width:thin;scrollbar-color:var(--muted) transparent}@supports (color: color-mix(in lab,red,red)){html{scrollbar-color:color-mix(in srgb,var(--muted) 34%,transparent) transparent}}body{position:relative}app-root{display:block;max-width:100%;overflow-x:clip}:root{color-scheme:light;--bg:#ffffff;--bg-soft:#ffffff;--panel:rgba(255, 255, 255, .92);--panel-strong:#ffffff;--drawer-panel:rgba(255, 255, 255, .96);--line:rgba(15, 23, 42, .12);--line-strong:rgba(15, 23, 42, .1);--text:#0f172a;--foreground:var(--text);--muted:#516074;--ship-you-neutral-accent:#09090b;--ship-you-neutral-accent-contrast:#ffffff;--brand:var(--ship-you-neutral-accent);--brand-dark:var(--ship-you-neutral-accent);--brand-strong:var(--ship-you-neutral-accent);--accent:#12795e;--loader-overlay:rgba(250, 250, 250, .96);--loader-surface:rgba(255, 255, 255, .92);--loader-surface-strong:rgba(255, 255, 255, .98);--loader-card-border:rgba(24, 24, 27, .12);--loader-card-shadow:0 1px 2px rgba(24, 24, 27, .05), 0 20px 55px rgba(24, 24, 27, .1);--loader-spinner-track:rgba(24, 24, 27, .1);--loader-progress-track:rgba(24, 24, 27, .08);--loader-refresh-bg:rgba(255, 255, 255, .92);--loader-refresh-bg-hover:rgba(248, 250, 252, 1);--loader-refresh-border:rgba(24, 24, 27, .12);--loader-refresh-border-hover:rgba(24, 24, 27, .22);--loader-refresh-text:#71717a;--loader-refresh-button-text:#09090b;--app-font-scale:1;--button-radius:1rem;--theme-toggle-active-blue:var(--ship-you-neutral-accent)}@layer base{*{box-sizing:border-box}html{scroll-behavior:smooth;font-size:16px}body{margin:0;min-height:100vh;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-size:calc(15px * var(--app-font-scale, 1));background:linear-gradient(180deg,transparent,transparent),linear-gradient(180deg,transparent,transparent),linear-gradient(180deg,var(--bg),var(--bg-soft));color:var(--text);font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}a{color:inherit;text-decoration:none}button{font:inherit}}:root{--font-sans:"Geist", ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--font-mono:"Geist Mono", "SFMono-Regular", Consolas, "Liberation Mono", monospace;--bg:#fafaf7;--bg-soft:#f4f4ef;--panel:rgba(250, 250, 247, .94);--panel-strong:#ffffff;--drawer-panel:rgba(250, 250, 247, .98);--line:rgba(17, 17, 17, .14);--line-strong:rgba(17, 17, 17, .22);--text:#111111;--foreground:#111111;--muted:#666660;--signal-orange:#ef6f2e;--signal-orange-strong:#dc5819;--signal-orange-soft:rgba(239, 111, 46, .12);
618--ship-you-neutral-accent:var(--signal-orange);--ship-you-neutral-accent-contrast:#111111;--brand:var(--signal-orange);--brand-dark:var(--signal-orange-strong);--brand-strong:var(--signal-orange);--accent:var(--signal-orange);--button-radius:4px;--theme-toggle-active-blue:var(--signal-orange)}body{background:var(--bg);color:var(--text);font-family:var(--font-sans);font-feature-settings:"kern" 1,"liga" 1,"calt" 1}button{font-family:var(--font-sans)}@property --tw-font-weight{syntax:"*";inherits:false;}@property --tw-translate-x{syntax:"*";inherits:false;initial-value:0;}@property --tw-translate-y{syntax:"*";inherits:false;initial-value:0;}@property --tw-translate-z{syntax:"*";inherits:false;initial-value:0;}@property --tw-tracking{syntax:"*";inherits:false;}@property --tw-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000;}@property --tw-shadow-color{syntax:"*";inherits:false;}@property --tw-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%;}@property --tw-inset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000;}@property --tw-inset-shadow-color{syntax:"*";inherits:false;}@property --tw-inset-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%;}@property --tw-ring-color{syntax:"*";inherits:false;}@property --tw-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000;}@property --tw-inset-ring-color{syntax:"*";inherits:false;}@property --tw-inset-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000;}@property --tw-ring-inset{syntax:"*";inherits:false;}@property --tw-ring-offset-width{syntax:"<length>";inherits:false;initial-value:0px;}@property --tw-ring-offset-color{syntax:"*";inherits:false;initial-value:#fff;}@property --tw-ring-offset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000;}@property --tw-rotate-x{syntax:"*";inherits:false;}@property --tw-rotate-y{syntax:"*";inherits:false;}@property --tw-rotate-z{syntax:"*";inherits:false;}@property --tw-skew-x{syntax:"*";inherits:false;}@property --tw-skew-y{syntax:"*";inherits:false;}@property --tw-space-y-reverse{syntax:"*";inherits:false;initial-value:0;}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid;}@property --tw-leading{syntax:"*";inherits:false;}@property --tw-outline-style{syntax:"*";inherits:false;initial-value:solid;}@property --tw-blur{syntax:"*";inherits:false;}@property --tw-brightness{syntax:"*";inherits:false;}@property --tw-contrast{syntax:"*";inherits:false;}@property --tw-grayscale{syntax:"*";inherits:false;}@property --tw-hue-rotate{syntax:"*";inherits:false;}@property --tw-invert{syntax:"*";inherits:false;}@property --tw-opacity{syntax:"*";inherits:false;}@property --tw-saturate{syntax:"*";inherits:false;}@property --tw-sepia{syntax:"*";inherits:false;}@property --tw-drop-shadow{syntax:"*";inherits:false;}@property --tw-drop-shadow-color{syntax:"*";inherits:false;}@property --tw-drop-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%;}@property --tw-drop-shadow-size{syntax:"*";inherits:false;}@property --tw-backdrop-blur{syntax:"*";inherits:false;}@property --tw-backdrop-brightness{syntax:"*";inherits:false;}@property --tw-backdrop-contrast{syntax:"*";inherits:false;}@property --tw-backdrop-grayscale{syntax:"*";inherits:false;}@property --tw-backdrop-hue-rotate{syntax:"*";inherits:false;}@property --tw-backdrop-invert{syntax:"*";inherits:false;}@property --tw-backdrop-opacity{syntax:"*";inherits:false;}@property --tw-backdrop-saturate{syntax:"*";inherits:false;}@property --tw-backdrop-sepia{syntax:"*";inherits:false;}@property --tw-duration{syntax:"*";inherits:false;}@property --tw-ease{syntax:"*";inherits:false;}@layer properties{@supports ((-webkit-hyphens: none) and (not (margin-trim: inline))) or ((-moz-orient: inline) and (not (color:rgb(from red r g b)))){*,:before,:after{--tw-font-weight:initial;--tw-translate-x:0;--tw-translate-y:0;--tw-translate-z:0;--tw-tracking:initial;--tw-shadow:0 0 #0000;--tw-shadow-color:initial;--tw-shadow-alpha:100%;--tw-inset-shadow:0 0 #0000;--tw-inset-shadow-color:initial;--tw-inset-shadow-alpha:100%;--tw-ring-color:initial;--tw-ring-shadow:0 0 #0000;--tw-inset-ring-color:initial;--tw-inset-ring-shadow:0 0 #0000;--tw-ring-inset:initial;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-offset-shadow:0 0 #0000;--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-space-y-reverse:0;--tw-border-style:solid;--tw-leading:initial;--tw-outline-style:solid;--tw-blur:initial;--tw-brightness:initial;--tw-contrast:initial;--tw-grayscale:initial;--tw-hue-rotate:initial;--tw-invert:initial;--tw-opacity:initial;--tw-saturate:initial;--tw-sepia:initial;--tw-drop-shadow:initial;--tw-drop-shadow-color:initial;--tw-drop-shadow-alpha:100%;--tw-drop-shadow-size:initial;--tw-backdrop-blur:initial;--tw-backdrop-brightness:initial;--tw-backdrop-contrast:initial;--tw-backdrop-grayscale:initial;--tw-backdrop-hue-rotate:initial;--tw-backdrop-invert:initial;--tw-backdrop-opacity:initial;--tw-backdrop-saturate:initial;--tw-backdrop-sepia:initial;--tw-duration:initial;--tw-ease:initial}}
618}</style><link rel="stylesheet" href="styles-AXPGC4O7.css" media="print" onload="this.media='all'"><noscript><link rel="stylesheet" href="styles-AXPGC4O7.css"></noscript></head>
619  <body class="app-shell-loading" ngcm=""><div id="ssr-marker" data-ssr="true" style="display:none"></div>
620    <app-root>
621      <div id="app-boot-loader" class="boot-loading-shell" aria-live="polite" aria-busy="true">
622        <div class="boot-loading-shell__glow"></div>
623        <div class="boot-loading-shell__card">
624          <div class="boot-loading-shell__mark" aria-hidden="true">
625            <span class="boot-loading-shell__mark-dot"></span>
626          </div>
627          <div class="boot-loading-shell__title">Preparing your workspace</div>
628          <p class="boot-loading-shell__copy">Loading your route and syncing the latest session state.</p>
629          <div class="app-shell-loading-overlay__progress" aria-hidden="true"></div>
630
631          <div class="app-loading-refresh">
632            <div class="app-loading-refresh__text">Taking longer than expected?</div>
633            <button class="app-loading-refresh__button" type="button" onclick="
634                this.disabled = true;
635                this.textContent = 'Refreshing...';
636                window.location.reload();
637              ">
638              Refresh page
639            </button>
640          </div>
641        </div>
642      </div>
643
644        <section class="boot-seo-fallback" aria-labelledby="builder-studio-static-title" data-nosnippet="">
645          <h1 id="builder-studio-static-title">Download BuilderStudio</h1>
646          <p>BuilderStudio is a free native agentic coding IDE for builders who want a focused local workspace for app creation. It brings source editing, terminal workflows, MCP-aware tools, reusable Skills, OpenRouter model access, local previews, source packaging, and deployment handoff into one desktop flow. The app is designed for people who want to build app projects locally first, inspect the generated code, run safe previews, and then move a clean source bundle into the BuilderStudio control plane when it is ready to launch.</p>
647          <p>The MacOS release includes a recommended Apple Silicon DMG package and an alternate ZIP archive. BuilderStudio can help you move from an idea to an app workspace with practical building blocks: project files, command review, terminal execution, Docker-contained local previews, Aikido SafeChain dependency checks for frontend package installs, and curated Skills for better design, copy, motion, components, and interface polish. The goal is to make agentic app building feel less like a black box and more like a professional development loop 
647you can inspect, adjust, package, and deploy.</p>
648          <h2>Build locally, package safely, deploy through our control plane</h2>
649          <p>Use BuilderStudio to download the latest release, create or open a project, run local app previews, manage source changes, and prepare a source handoff for the cloud control plane. The surrounding BuilderStudio site also includes the Matrix, founder tools, pricing, and support areas that help teams compare the platform and plan the next step after the local build is complete.</p>
650          <nav aria-label="BuilderStudio internal links">
651            <a href="/ide">BuilderStudio download</a>
652            <a href="/matrix">BuilderStudio Matrix</a>
653            <a href="/startup/tools">Founder tools</a>
654            <a href="/pricing">Pricing</a>
655            <a href="/support">Support</a>
656          </nav>
657        </section>
658    </app-root>
659
660    
660<script>
661      (function () {
662        window.setTimeout(function () {
663          var refreshElements = document.querySelectorAll(".app-loading-refresh");
664
665          refreshElements.forEach(function (refreshElement) {
666            refreshElement.classList.add("app-loading-refresh--visible");
667          });
668        }, 7000);
669      })();
670    </script>
670
671
672    <div id="app-shell-loading-overlay" class="app-shell-loading-overlay" aria-live="polite" aria-busy="true">
673      <div class="app-shell-loading-overlay__card">
674        <div class="boot-loading-shell__mark" aria-hidden="true">
675          <span class="boot-loading-shell__mark-dot"></span>
676        </div>
677        <div class="boot-loading-shell__title">Loading page</div>
678        <div class="app-loading-refresh">
679          <div class="app-loading-refresh__text">Taking longer than expected?</div>
680          <button class="app-loading-refresh__button" type="button" onclick="
681              this.disabled = true;
682              this.textContent = 'Refreshing...';
683              window.location.reload();
684            ">
685            Refresh page
686          </button>
687        </div>
688      </div>
689    </div>
690  <link rel="modulepreload" href="chunk-RUKR5ZJD.js"><link rel="modulepreload" href="chunk-C6AMCN3O.js"><link rel="modulepreload" href="chunk-QWWAGSPG.js"><link rel="modulepreload" href="chunk-NQRLHYY5.js"><link rel="modulepreload" href="chunk-4QO55MOZ.js"><link rel="modulepreload" href="chunk-X3YO5ZS4.js"><link rel="modulepreload" href="chunk-4N2MR6FN.js"><link rel="modulepreload" href="chunk-LTHACFWH.js"><link rel="modulepreload" href="chunk-JRWJG7GL.js"><link rel="modulepreload" href="chunk-N6FP2GZP.js">
690<script src="polyfills-DOYHMSTV.js" type="module"></script>
690<script src="main-IQFAWUUO.js" type="module"></script>
690</body>
691</html>

Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.