PageSourceSearch

https://shahrooz.base44.app/

html shahrooz.base44.app collected 2026-10-03 03:08:15 UTC 10,704 bytes, 191 lines download raw bytes

1<!DOCTYPE html>
2<html lang="en">
3 <head>
4  <meta charset="utf-8"/>
5  <meta content="width=device-width, initial-scale=1.0" name="viewport"/>
6  <link href="/manifest.json" rel="manifest"/>
7  <!-- Primary SEO -->
8  <title>
9   Shahrooz Wesbite
10  </title>
11  <meta content="Shahrooz Wesbite manages 1 data type including contact messages. Helps you organize, track, and share your work in 1 place for teams and solo users." name="description"/>
12  <meta content="Shahrooz Shekaraubi, Shahrooz Shekaraubi artist, Hidden Sun and the Alchemy of Light, Hidden Sun novel, Shahrooz author, Shahrooz UX designer, AI UX Designer, AI Agent Developer, XR Designer, VR UX, AR UX, art curator, mixed media artist, fantasy novel 2026, UX portfolio, product design consultant" name="keywords"/>
13  <meta content="Shahrooz Shekaraubi" name="author"/>
14  <meta content="noindex, follow, max-image-preview:large, max-snippet:-1, max-video-preview:-1" name="robots"/>
15  <meta content="#f5f5f5" name="theme-color"/>
16  <!-- Open Graph / Facebook -->
17  <meta content="website" property="og:type"/>
18  <meta content="Shahrooz Wesbite" property="og:site_name"/>
19  <meta content="en_US" property="og:locale"/>
20  <meta content="https://shahrooz.base44.app" property="og:url"/>
21  <meta content="Shahrooz Wesbite" property="og:title"/>
22  <meta content="Shahrooz Wesbite manages 1 data type including contact messages. Helps you organize, track, and share your work in 1 place for teams and solo users." property="og:description"/>
23  <meta content="https://qtrypzzcjebvfcihiynt.supabase.co/storage/v1/render/image/public/base44-prod/public/696b8e7d50c85f218c7f36fe/921785256_Shahrooz.png?width=1200&amp;height=630&amp;resize=contain" property="og:image"/>
24  <meta content="1200" property="og:image:width"/>
25  <meta content="630" property="og:image:height"/>
26  <meta content="Hidden Sun and the Alchemy of Light — by Shahrooz Shekaraubi" property="og:image:alt"/>
27  <!-- Twitter Card -->
28  <meta content="summary_large_image" name="twitter:card"/>
29  <meta content="Shahrooz Wesbite" name="twitter:title"/>
30  <meta content="Shahrooz Wesbite manages 1 data type including contact messages. Helps you organize, track, and share your work in 1 place for teams and solo users." name="twitter:description"/>
31  <meta content="https://qtrypzzcjebvfcihiynt.supabase.co/storage/v1/render/image/public/base44-prod/public/696b8e7d50c85f218c7f36fe/921785256_Shahrooz.png?width=1200&amp;height=630&amp;resize=contain" name="twitter:image"/>
32  <meta content="Hidden Sun and the Alchemy of Light — by Shahrooz Shekaraubi" name="twitter:image:alt"/>
33  <!-- Structured Data: Person -->
34  
34<script type="application/ld+json">
35   {
36      "@context": "https://schema.org",
37      "@type": "Person",
38      "name": "Shahrooz Shekaraubi",
39      "jobTitle": "Artist, Senior UX Designer & AI Agent Developer",
40      "description": "Shahrooz Shekaraubi is an artist, Senior UX Designer, and AI Agent Developer. He is the author of Hidden Sun and the Alchemy of Light, a debut contemporary fantasy novel published in 2026.",
41      "hasCredential": "Author of Hidden Sun and the Alchemy of Light",
42      "url": "https://shahrooz.base44.app/",
43      "image": "https://qtrypzzcjebvfcihiynt.supabase.co/storage/v1/object/public/base44-prod/public/696b8e7d50c85f218c7f36fe/3b20bc447_Shahrooz.png",
44      "sameAs": [
45        "https://www.figma.com/@Shahrooz1",
46        "https://www.behance.net/shahroozsh",
47        "https://medium.com/@ShahroozShekaraubi",
48        "https://www.instagram.com/shahrooz.shekaraubi/",
49        "https://www.linkedin.com/in/shahrooz-shekaraubi",
50        "https://hiddensuns.com"
51      ],
52      "knowsAbout": [
53        "Fine Art", "Mixed Media Art", "Art Curation",
54        "UX Design", "AI Design", "AI Agent Development", "XR Design",
55        "VR Design", "AR Design", "Immersive Experience Design",
56        "User Experience", "Web3", "Product Strategy", "Contemporary Fantasy Writing"
57      ],
58      "award": "Author of Hidden Sun and the Alchemy of Light (2026)",
59      "offers": {
60        "@type": "Offer",
61        "name": "UX Design & AI Product Consulting",
62        "description": "Available for freelance UX design, AI product design, XR/VR/AR design, and AI agent development consulting engagements."
63      }
64    }
65  </script>
65
66  <!-- Structured Data: Book (Hidden Sun) -->
67  
67<script type="application/ld+json">
68   {
69      "@context": "https://schema.org",
70      "@type": "Book",
71      "name": "Hidden Sun and the Alchemy of Light",
72      "author": {
73        "@type": "Person",
74        "name": "Shahrooz Shekaraubi"
75      },
76      "datePublished": "2026-03",
77      "genre": "Contemporary Fantasy",
78      "description": "A debut contemporary fantasy novel following twelve-year-old Mihryar, who discovers a living magical carpet that opens a doorway to a mythic celestial cosmos. A luminous tale of transformation, shame, and inner light.",
79      "image": "https://media.base44.com/images/public/696b8e7d50c85f218c7f36fe/875c8b1a4_HSAOLCOVERFINAL.png",
80      "url": "https://hiddensuns.com",
81      "publisher": {
82        "@type": "Organization",
83        "name": "Self-published"
84      },
85      "bookFormat": "https://schema.org/Paperback",
86      "inLanguage": "en",
87      "audience": {
88        "@type": "Audience",
89        "audienceType": "Young Adult / General Fiction"
90      },
91      "isAvailableAt": [
92        { "@type": "BookStore", "name": "Barnes & Noble" },
93        { "@type": "BookStore", "name": "Amazon" },
94        { "@type": "BookStore", "name": "Apple Books" },
95        { "@type": "BookStore", "name": "Google Books" }
96      ]
97    }
98  </script>
98
99  <!-- Sitemap reference -->
100  <link href="/api/functions/generateSitemap" rel="sitemap" type="application/xml"/>
101  <!-- Favicon -->
102  <link href="https://qtrypzzcjebvfcihiynt.supabase.co/storage/v1/object/public/base44-prod/public/696b8e7d50c85f218c7f36fe/921785256_Shahrooz.png" rel="icon" type="image/svg+xml"/>
103  
103<script crossorigin="" src="/assets/index-CfXRcyCo.js" type="module">
104  </script>
104
105  <link crossorigin="" href="/assets/index-Th-854Au.css" rel="stylesheet"/>
106  <meta content="https://shahrooz.base44.app" name="twitter:url"/>
107  
107<script>
108   (function () {
109  var titles = {"/": "Shahrooz Wesbite", "/home": "Shahrooz Wesbite"};
110  // PascalCase boundaries -> "-", mirroring _PASCAL_BOUNDARY_RE without lookbehind
111  // (old Safari fails to PARSE a lookbehind, taking the whole script down).
112  var dashed = function (s) {
113    return s.replace(/([a-z0-9])([A-Z])/g, "$1-$2").replace(/([A-Z])([A-Z][a-z])/g, "$1-$2");
114  };
115  var decode = function (s) {
116    // A %2F inside ONE segment must not become a structural separator: /blog/foo%2Fbar is a
117    // dynamic slug, and letting it split would match a static /blog/foo/bar and write ITS title.
118    try { var d = decodeURIComponent(s); return d.indexOf("/") < 0 ? d : s; } catch (e) { return s; }
119  };
120  var segments = function (path) { return path.split("/").filter(Boolean).map(decode); };
121  var norm = function (path) {
122    var parts = segments(path).map(function (s) { return dashed(s).toLowerCase(); });
123    return parts.length ? "/" + parts.join("/") : "/";
124  };
125  var lastPath = location.pathname, written = document.title, on = true;
126  var sync = function () {
127    // Path only: a hash/query change is the same page, and the SDK strips its own auth
128    // params with replaceState -- neither must clobber a server-rendered title in place.
129    if (!on || location.pathname === lastPath) return;
130    lastPath = location.pathname;
131    if (document.title !== written) { on = false; return; }
132    // Write ONLY a title the map proves. An unmapped path is a dynamic route (/blog/:slug) the
133    // map cannot carry, and writing a placeholder there is destructive, not merely vague: the
134    // prerender worker runs no setUserAgent, so its capture browser reads as human and executes
135    // this script, and coordinator.js's settle wait explicitly tolerates a full navigation --
136    // a redirect landing on an unmapped path would bake the placeholder into the stored
137    // snapshot. Leaving the title alone degrades to today's behavior instead.
138    // Exact lookup only. A dash-stripped retry here would let a genuinely different /set-up
139    // claim /setup: the map carries a dash-free key only where a PascalCase boundary put the
140    // dashes there, and the client cannot tell the two apart. The map emits every reachable
141    // shape per segment instead (_client_url_variants).
142    var title = titles[norm(location.pathname)];
143    if (title === undefined) return;
144    document.title = title;
145    // Re-read: the setter stores verbatim but the getter strips and collapses whitespace, so
146    // keeping the assigned string would make the next sync() read our own write as the app's.
147    written = document.title;
148  };
149  var wrap = function (fn) {
150    // The history entry is already pushed by the time sync() runs, so a throw here would
151    // surface inside the host app's router and break navigation. This is injected into apps
152    // we cannot test, so it swallows rather than trusting the trace.
153    return function () {
154      var r = fn.apply(this, arguments);
155      try { sync(); } catch (e) {}
156      return r;
157    };
158  };
159  history.pushState = wrap(history.pushState);
160  history.replaceState = wrap(history.replaceState);
161  window.addEventListener("popstate", sync);
162})();
163  </script>
163
164  <meta content="yes" name="mobile-web-app-capable"/>
165  <meta content="black" name="apple-mobile-web-app-status-bar-style"/>
166  <meta content="Shahrooz Wesbite" name="apple-mobile-web-app-title"/>
167  <link href="https://shahrooz.base44.app" rel="canonical"/>
168  
168<script data-seo-source="builder" type="application/ld+json">
169   {"name": "Shahrooz Wesbite", "@context": "https://schema.org", "@type": "WebSite", "url": "https://shahrooz.world"}
170  </script>
170
171  
171<script data-seo-source="builder" type="application/ld+json">
172   {"name": "Shahrooz Wesbite", "logo": "https://qtrypzzcjebvfcihiynt.supabase.co/storage/v1/object/public/base44-prod/public/696b8e7d50c85f218c7f36fe/921785256_Shahrooz.png", "@context": "https://schema.org", "@type": "Organization", "url": "https://shahrooz.world"}
173  </script>
173
174 </head>
175 <body>
176  <div id="root">
177   <div data-seo-source="builder" id="seo-snapshot" style="position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0;">
178    <main>
179     <header>
180      <h1>
181       Shahrooz Wesbite
182      </h1>
183      <p>
184       Shahrooz Wesbite manages 1 data type including contact messages. Helps you organize, track, and share your work in 1 place for teams and solo users.
185      </p>
186     </header>
187    </main>
188   </div>
189  </div>
190 </body>
191</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.