1<!doctype html> 2<html lang="en"> 3 4<head> 5 <meta charset="UTF-8" /> 6 <link rel="icon" type="image/png" href="/Logo_1S.png" /> 7 <link rel="apple-touch-icon" href="/Logo_1S.png" /> 8 <meta name="viewport" content="width=device-width, initial-scale=1.0" /> 9 10 <!-- 11 Tell the browser the site supports both light and dark schemes. This is the 12 documented opt-out from Samsung Internet's "Dark mode for web pages" 13 proprietary force-dark transform, which otherwise post-processes the page 14 bitmap when the user has device dark mode on. The CSS counterpart lives in 15 src/index.css (`:root { color-scheme: light dark; }`) so UA widgets like 16 scrollbars and form controls also pick the right scheme. 17 --> 18 <meta name="color-scheme" content="light dark" /> 19 <meta name="theme-color" content="#0b0c0e" media="(prefers-color-scheme: dark)" /> 20 <meta name="theme-color" content="#f7f8fa" media="(prefers-color-scheme: light)" /> 21 22 <!-- 23 Pre-hydration theme bootstrap. Sets `data-theme` on <html> before React 24 mounts (the Navbar useEffect remains the post-hydration source of truth). 25 Eliminates the first-paint flash on systems whose color scheme differs 26 from the dark-first `:root` palette, and also denies Samsung Internet's 27 force-dark heuristic the bright/dark mismatch that triggers it. Mirrors 28 the logic in src/components/Navbar.jsx â keep them in sync. 29 --> 30
30<script> 31 (function () { 32 // Mark JS availability so CSS can keep reveal-on-scroll content visible 33 // for no-JS visitors and crawlers reading the prerendered HTML (the 34 // `.reveal` hiding rules in src/index.css are gated on `html.js`). 35 document.documentElement.classList.add('js'); 36 try { 37 var saved = localStorage.getItem('theme'); 38 var theme = (saved === 'light' || saved === 'dark') 39 ? saved 40 : (window.matchMedia && window.matchMedia('(prefers-color-scheme: dark)').matches ? 'dark' : 'light'); 41 document.documentElement.setAttribute('data-theme', theme); 42 } catch (e) { 43 /* localStorage may throw in privacy / sandboxed contexts â fall back to CSS defaults. */ 44 } 45 })(); 46 </script>
46 47 48 <title data-rh="true">Contact 1Strat â Crypto AI Indicator Platform</title> 49 <meta name="description" 50 content="Transparent explainable AI indicator for crypto. Get BTC, ETH, SOL and XRP directional forecasts with confidence, market drivers, and a public track record." /> 51 <meta name="keywords" 52 content="Crypto AI indicator, BTC forecast, ETH forecast, SOL forecast, XRP forecast, crypto market direction, trading dashboard, market drivers, forecast confidence, decision support, Bitcoin, Ethereum, Solana, XRP" /> 53 54 <!-- Open Graph / Facebook --> 55 <meta property="og:type" content="website" /> 56 <meta property="og:url" content="https://1strat.ai" /> 57 <meta property="og:site_name" content="1Strat" /> 58 <meta property="og:locale" content="en_US" /> 59 <meta property="og:title" content="1Strat â Explainable AI Indicator for Crypto Market Direction" /> 60 <meta property="og:description" 61 content="Transparent explainable AI indicator for crypto. Get BTC, ETH, SOL and XRP directional forecasts with confidence, market drivers, and a public track record." /> 62 <meta property="og:image" content="https://1strat.ai/Home_SEO.webp" /> 63 <meta property="og:image:type" content="image/webp" /> 64 <meta property="og:image:width" content="2539" /> 65 <meta property="og:image:height" content="1321" /> 66 <meta property="og:image:alt" 67 content="1Strat â Explainable AI indicator dashboard showing BTC, ETH, SOL and XRP directional forecasts, confidence, and market drivers." /> 68 69 <!-- Twitter --> 70 <meta name="twitter:card" content="summary_large_image" /> 71 <meta name="twitter:site" content="@1SebastienB" /> 72 <meta name="twitter:url" content="https://1strat.ai" /> 73 <meta name="twitter:title" content="1Strat â Explainable AI Indicator for Crypto Market Direction" /> 74 <meta name="twitter:description" 75 content="Transparent explainable AI indicator for crypto. Get BTC, ETH, SOL and XRP directional forecasts with confidence, market drivers, and a public track record." /> 76 <meta name="twitter:image" content="https://1strat.ai/Home_SEO.webp" /> 77 <meta name="twitter:image:alt" 78 content="1Strat â Explainable AI indicator dashboard showing BTC, ETH, SOL and XRP directional forecasts, confidence, and market drivers." /> 79 80 <!-- 81 Privacy-friendly analytics by Plausible. 82 83 Loaded directly from plausible.io. A previous iteration proxied this 84 through /_traffic/p/* on our own origin to bypass tracker-blocker 85 lists (EasyPrivacy, Brave Shields, uBlock). The proxy worked at the 86 network layer â POSTs returned 202 â but Plausible's server-side bot 87 filter then silently dropped every event (x-plausible-dropped: 1) 88 because the TCP connection IP at their edge was our Firebase App 89 Hosting (GCP) backend, which their anti-spoofing logic treats as a 90 datacenter regardless of X-Forwarded-For. Net effect of the proxy: 91 zero events counted. Going direct: all non-blocker users counted; 92 blocker users (Brave default Shields + uBlock â minority of traffic) 93 not counted. That is a strict upgrade over the broken proxy state. 94 95 If blocker share becomes painful, the documented next step is 96 Plausible's CNAME custom-domain feature, which sidesteps the 97 datacenter-IP problem because traffic terminates on Plausible's own 98 CDN: 99 1. DNS CNAME: analytics.1strat.ai -> custom.plausible.io 100 2. Plausible dashboard: Site Settings -> General -> Custom domain 101 3. Point this script src at https://analytics.1strat.ai/js/script.js 102 103 The personalized pa-* URL below is the same script the dashboard 104 snippet generates; it bakes in domain="1strat.ai" and enables form 105 submissions, file downloads, outbound links, and SPA pushState 106 pageview tracking automatically â BUT only once we call 107 plausible.init(). The script's auto-init at its bottom literally 108 reads `plausible.o && S(plausible.o)`, which short-circuits to a 109 no-op unless `plausible.o` is already set when the script loads. 110 Without the inline shim below the script loads, exposes 111 `window.plausible` as an object, and silently sits idle â no 112 pageview is ever sent. This bug bit us between PR #6 (revert 113 proxy) and PR #7 (this commit) and produced an empty dashboard 114 despite every network-layer probe coming up green. Verified by
115 manually running `plausible.init()` in the Console: a 202 POST 116 fires immediately and the visit appears in Plausible Realtime. 117 --> 118
118<script> 119 // Queue + init shim for Plausible's pa-* script. The inline script 120 // runs during HTML parse; the deferred external script runs after 121 // parse completes. By the time the external script reaches its 122 // auto-init line, `plausible.o = {}` is already set, so it calls 123 // S({}) and starts tracking with the baked-in domain + endpoint 124 // defaults. Custom event calls like `plausible('Signup')` made 125 // before the script loads also queue and replay correctly. 126 window.plausible = window.plausible || function () { (plausible.q = plausible.q || []).push(arguments) }; 127 plausible.init = plausible.init || function (i) { plausible.o = i || {} }; 128 plausible.init(); 129 </script>
129 130
130<script defer src="https://plausible.io/js/pa-vIYerxjzDduGyL1z-ES5k.js"></script>
130 131 132 <!-- JSON-LD: Organization --> 133
133<script type="application/ld+json"> 134 { 135 "@context": "https://schema.org", 136 "@type": "Organization", 137 "name": "1Strat", 138 "legalName": "1Strategist SARL", 139 "url": "https://1strat.ai", 140 "logo": "https://1strat.ai/Logo_1S.png", 141 "description": "Crypto-focused explainable AI market intelligence platform. AI-generated forecasts for BTC, ETH, SOL and XRP combining directional expectations, confidence levels, transparent performance metrics (F1 scores and confusion matrices instead of black-box outputs), and explainable market drivers. Decision-support dashboard, not financial advice.", 142 "foundingLocation": { 143 "@type": "Place", 144 "address": { 145 "@type": "PostalAddress", 146 "addressCountry": "LU" 147 } 148 }, 149 "founder": { 150 "@type": "Person", 151 "name": "Sébastien Boxho", 152 "url": "https://www.linkedin.com/in/sebastien-boxho" 153 }, 154 "sameAs": [ 155 "https://github.com/1Strategist", 156 "https://www.linkedin.com/in/sebastien-boxho", 157 "https://x.com/1SebastienB", 158 "https://github.com/SBoxho" 159 ], 160 "contactPoint": { 161 "@type": "ContactPoint", 162 "contactType": "customer support", 163 "email": "[email protected]", 164 "url": "https://1strat.ai/contact" 165 } 166 } 167 </script>
167 168 169 <!-- JSON-LD: WebSite --> 170
170<script type="application/ld+json"> 171 { 172 "@context": "https://schema.org", 173 "@type": "WebSite", 174 "name": "1Strat", 175 "url": "https://1strat.ai", 176 "description": "Transparent explainable AI indicator for crypto market direction.", 177 "inLanguage": "en", 178 "publisher": { 179 "@type": "Organization", 180 "name": "1Strat", 181 "url": "https://1strat.ai" 182 } 183 } 184 </script>
184 185 186 <!-- JSON-LD: Person (Founder) --> 187
187<script type="application/ld+json"> 188 { 189 "@context": "https://schema.org", 190 "@type": "Person", 191 "name": "Sébastien Boxho", 192 "url": "https://www.linkedin.com/in/sebastien-boxho", 193 "jobTitle": "Founder & AI Engineer", 194 "worksFor": { 195 "@type": "Organization", 196 "name": "1Strategist SARL", 197 "url": "https://1strat.ai" 198 }, 199 "knowsAbout": [ 200 "Explainable AI", 201 "Crypto market forecasting", 202 "Data Science", 203 "AI Engineering", 204 "Financial time-series modelling", 205 "Decision-support systems" 206 ], 207 "sameAs": [ 208 "https://www.linkedin.com/in/sebastien-boxho", 209 "https://github.com/SBoxho", 210 "https://x.com/1SebastienB" 211 ], 212 "description": "Founder of 1Strategist SARL and creator of 1Strat.ai. Background in Data Science, AI Engineering, and decision-focused analytics. Builds transparent forecasting tools for crypto traders combining directional forecasts, confidence levels, transparent performance metrics (F1 scores and confusion matrices instead of black-box outputs), and explainable market drivers." 213 } 214 </script>
214 215
215<script type="module" crossorigin src="/assets/index-CYAP0MnD.js"></script>
215 216 <link rel="modulepreload" crossorigin href="/assets/react-B-2mLLus.js"> 217 <link rel="stylesheet" crossorigin href="/assets/index-SViluqpJ.css"> 218 <link data-rh="true" rel="canonical" href="https://1strat.ai/contact"/> 219
219<script data-rh="true" type="application/ld+json">{"@context":"https://schema.org","@type":"BreadcrumbList","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https://1strat.ai/"},{"@type":"ListItem","position":2,"name":"Contact","item":"https://1strat.ai/contact"}]}</script>
219<script data-rh="true" type="application/ld+json">{"@context":"https://schema.org","@type":"ContactPage","url":"https://1strat.ai/contact","name":"Contact 1Strat","description":"Contact form for 1Strat â the explainable AI indicator platform for crypto traders.","inLanguage":"en","isPartOf":{"@type":"WebSite","name":"1Strat","url":"https://1strat.ai"},"mainEntity":{"@type":"Organization","name":"1Strat","legalName":"1Strategist SARL","url":"https://1strat.ai","contactPoint":{"@type":"ContactPoint","contactType":"customer support","email":"[email protected]","url":"https://1strat.ai/contact","availableLanguage":["en"]}}}</script>
219 220</head> 221 222<body> 223 <div id="root"><link rel="preload" as="image" href="/assets/Logo_1S-CLhAY3Nz.webp"/><nav class="navbar " aria-label="Main"><div class="navbar-container"><div class="navbar-left"><a class="navbar-logo" aria-label="1Strat home" href="/" data-discover="true"><img src="/assets/Logo_1S-CLhAY3Nz.webp" alt="1Strat â home" width="28" height="28" decoding="async"/><span>1Strat</span></a><div class="navbar-links" role="navigation"><a class="nav-link " href="/" data-discover="true">Home</a><a class="nav-link " href="/dashboard" data-discover="true">Dashboard</a></div></div><button class="theme-toggle" aria-label="Switch to light theme" title="Switch to light theme">âï¸</button></div></nav><!--$--><div style="min-height:100vh;padding:4rem 1rem;background-color:var(--color-bg);display:flex;justify-content:center"><div style="background-color:#ffffff;color:#000000;padding:3rem;max-width:800px;width:100%;border-radius:8px;box-shadow:0 4px 20px rgba(0,0,0,0.1);line-height:1.6"><h1 style="margin-bottom:0.5rem;font-weight:bold">Contact</h1><p class="contact-intro">Use this form for general questions, partnership and press inquiries, or to report a bug. For privacy-related requests, please refer to our Privacy Policy.</p><form class="contact-form" noValidate=""><input type="hidden" name="access_key" value="0ca1b46c-4cc3-4143-94cd-e31e6868ea5a"/><input type="hidden" name="subject" value=""/><input type="hidden" name="from_name" value="1Strategist Contact Form"/><input type="checkbox" style="position:absolute;left:-9999px;width:1px;height:1px;opacity:0" tabindex="-1" autoComplete="off" aria-hidden="true" name="botcheck"/><div class="contact-field "><label for="contact-name" class="contact-label">Full name <span class="contact-required" aria-hidden="true">*</span></label><input id="contact-name" type="text" class="contact-input" autoComplete="name" required="" aria-required="true" aria-invalid="false" name="name" value=""/><div id="contact-name-error" class="contact-field-message" aria-live="polite"></div></div><div class="contact-field "><label for="contact-email" class="contact-label">Email <span class="contact-required" aria-hidden="true">*</span></label><input id="contact-email" type="email" class="contact-input" autoComplete="email" required="" aria-required="true" aria-invalid="false" name="email" value=""/><div id="contact-email-error" class="contact-field-message" aria-live="polite"></div></div><div class="contact-field "><label for="contact-subject" class="contact-label">Subject <span class="contact-required" aria-hidden="true">*</span></label><select id="contact-subject" name="subject_choice" class="contact-input contact-select" required="" aria-required="true" aria-invalid="false"><option value="" disabled="" selected="">Select a topicâ¦</option><option value="General inquiry">General inquiry</option><option value="Partnership">Partnership</option><option value="Press">Press</option><option value="Bug report">Bug report</option></select><div id="contact-subject-error" class="contact-field-message" aria-live="polite"></div></div><div class="contact-field "><label for="contact-message" class="contact-label">Message <span class="contact-required" aria-hidden="true">*</span></label><textarea id="contact-message" name="message" class="contact-input contact-textarea" rows="6" required="" aria-required="true" aria-invalid="false"></textarea><div id="contact-message-error" class="contact-field-message" aria-live="polite"></div></div><div class="contact-actions"><button type="submit" class="contact-submit">Send message</button></div></form></div></div><!--/$--><footer class="site-footer"><div class="container"><div class="footer-disclaimer"><p><strong>Disclaimer:</strong> 1Strat is an AI-powered market indicator and decision-support tool. It does not provide financial advice, investment advice, trading signals, or recommendations to buy, sell, hold, enter, or exit any position.</p><p>Cryptocurrency trading involves significant risk and may not be suitable for all users. Forecasts, confidence scores, historical outcomes, and explanations are analytical information only. Past performance is not indicative of future results. You are responsible for your own decisions and risk management.</p></div><div class="footer-company"><h4>Product of<!-- --> <a href="https://1strategist.eu" target="_blank" rel="noopener noreferrer" class="footer-brand-link">1Strategist</a> <!-- -->SARL</h4><p>Luxembourg</p><p>VAT: LU36324637</p></div><div class="footer-links"><a href="/terms" data-discover="true">Terms of Use</a><a href="/privacy" data-discover="true">Privacy Policy</a><a href="/legal-notice" data-discover="true">Legal Notice</a><a href="/contact" data-discover="true">Contact</a></div><div class="footer-badges"><a href="https://betalist.com/startups/1strat?utm_campaign=badge-1strat&utm_medium=badge&utm_source=badge-featured" target="_blank" rel="noopener" class="footer-badge-link" aria-label="View 1Strat on BetaList"><img src="https://betalist.com/badges/featured?id=166723&theme=dark" alt="1Strat â Read crypto'
223s next move with explainable AI forecasts | BetaList" width="156" height="54" loading="lazy" decoding="async"/></a></div><div class="footer-copy">© <!-- -->2026<!-- --> <!-- -->1Strategist SARL. All rights reserved.</div></div></footer></div> 224</body> 225 226</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.