1<!DOCTYPE html><!-- Last Published: Fri Oct 02 2026 15:24:23 GMT+0000 (Coordinated Universal Time) --><html data-wf-domain="on-the-spooot.webflow.io" data-wf-page="673f2c90152fe17906c28a01" data-wf-site="6739bcfd5737b87720acef3b" lang="en"><head><meta charset="utf-8"/><link href="https://cdn.prod.website-files.com" rel="preconnect" crossorigin="anonymous"/><title>About us | On The Spot Development</title><meta content="Meet the team behind On The Spot Development and see how we help startups and tech companies grow their R&D teams in Poland." name="description"/><meta content="About us | On The Spot Development" property="og:title"/><meta content="Meet the team behind On The Spot Development and see how we help startups and tech companies grow their R&D teams in Poland." property="og:description"/><meta content="https://cdn.prod.website-files.com/6739bcfd5737b87720acef3b/6aa94eda758dec347dabfcaf_meta-about.png" property="og:image"/><meta content="About us | On The Spot Development" name="twitter:title"/><meta content="Meet the team behind On The Spot Development and see how we help startups and tech companies grow their R&D teams in Poland." name="twitter:description"/><meta property="og:type" content="website"/><meta content="summary_large_image" name="twitter:card"/><meta content="width=device-width, initial-scale=1" name="viewport"/><meta content="NH39UD3VsA_z0ZUIQq2_AvZ4GCzOUUsTwfW2bkE8wKg" name="google-site-verification"/><link href="https://cdn.prod.website-files.com/6739bcfd5737b87720acef3b/css/on-the-spooot.webflow.shared.c96ac63bf.min.css" rel="stylesheet" type="text/css" integrity="sha384-yWrGO/erPyeuuuKx/oe9C5hrhKcxrDMdHikigvsOBWLdvR68pNoDNTbn7OB7gnqq" crossorigin="anonymous"/><style>@media (min-width:992px) {html.w-mod-js:not(.w-mod-ix) [data-w-id="ad3cc2e5-4433-4209-a164-bfa711ce4125"] {-webkit-transform:translate3d(0, 0, 0) scale3d(0, 0, 1) rotateX(0) rotateY(0) rotateZ(0) skew(0, 0);-moz-transform:translate3d(0, 0, 0) scale3d(0, 0, 1) rotateX(0) rotateY(0) rotateZ(0) skew(0, 0);-ms-transform:translate3d(0, 0, 0) scale3d(0, 0, 1) rotateX(0) rotateY(0) rotateZ(0) skew(0, 0);transform:translate3d(0, 0, 0) scale3d(0, 0, 1) rotateX(0) rotateY(0) rotateZ(0) skew(0, 0);}html.w-mod-js:not(.w-mod-ix) [data-w-id="2027f076-c86c-7e7b-f5b1-eb03aef75e5b"] {-webkit-transform:translate3d(0, 0, 0) scale3d(0, 0, 1) rotateX(0) rotateY(0) rotateZ(0) skew(0, 0);-moz-transform:translate3d(0, 0, 0) scale3d(0, 0, 1) rotateX(0) rotateY(0) rotateZ(0) skew(0, 0);-ms-transform:translate3d(0, 0, 0) scale3d(0, 0, 1) rotateX(0) rotateY(0) rotateZ(0) skew(0, 0);transform:translate3d(0, 0, 0) scale3d(0, 0, 1) rotateX(0) rotateY(0) rotateZ(0) skew(0, 0);}html.w-mod-js:not(.w-mod-ix) [data-w-id="1932bfab-87e3-58f4-fa0a-72bb514fb6ef"] {-webkit-transform:translate3d(0, 0, 0) scale3d(0, 0, 1) rotateX(0) rotateY(0) rotateZ(0) skew(0, 0);-moz-transform:translate3d(0, 0, 0) scale3d(0, 0, 1) rotateX(0) rotateY(0) rotateZ(0) skew(0, 0);-ms-transform:translate3d(0, 0, 0) scale3d(0, 0, 1) rotateX(0) rotateY(0) rotateZ(0) skew(0, 0);transform:translate3d(0, 0, 0) scale3d(0, 0, 1) rotateX(0) rotateY(0) rotateZ(0) skew(0, 0);}html.w-mod-js:not(.w-mod-ix) [data-w-id="f93321dc-d745-9805-97c6-961416630337"] {-webkit-transform:translate3d(0, 0, 0) scale3d(0, 0, 1) rotateX(0) rotateY(0) rotateZ(0) skew(0, 0);-moz-transform:translate3d(0, 0, 0) scale3d(0, 0, 1) rotateX(0) rotateY(0) rotateZ(0) skew(0, 0);-ms-transform:translate3d(0, 0, 0) scale3d(0, 0, 1) rotateX(0) rotateY(0) rotateZ(0) skew(0, 0);transform:translate3d(0, 0, 0) scale3d(0, 0, 1) rotateX(0) rotateY(0) rotateZ(0) skew(0, 0);}html.w-mod-js:not(.w-mod-ix) [data-w-id="a1a45218-2b76-9cc9-6d8d-456c68a28106"] {-webkit-transform:translate3d(0, 0, 0) scale3d(0, 0, 1) rotateX(0) rotateY(0) rotateZ(0) skew(0, 0);-moz-transform:translate3d(0, 0, 0) scale3d(0, 0, 1) rotateX(0) rotateY(0) rotateZ(0) skew(0, 0);-ms-transform:translate3d(0, 0, 0) scale3d(0, 0, 1) rotateX(0) rotateY(0) rotateZ(0) skew(0, 0);transform:translate3d(0, 0, 0) scale3d(0, 0, 1) rotateX(0) rotateY(0) rotateZ(0) skew(0, 0);}}@media (max-width:991px) and (min-width:768px) {html.w-mod-js:not(.w-mod-ix) [data-w-id="ad3cc2e5-4433-4209-a164-bfa711ce4125"] {-webkit-transform:translate3d(0, 0, 0) scale3d(0, 0, 1) rotateX(0) rotateY(0) rotateZ(0) skew(0, 0);-moz-transform:translate3d(0, 0, 0) scale3d(0, 0, 1) rotateX(0) rotateY(0) rotateZ(0) skew(0, 0);-ms-transform:translate3d(0, 0, 0) scale3d(0, 0, 1) rotateX(0) rotateY(0) rotateZ(0) skew(0, 0);transform:translate3d(0, 0, 0) scale3d(0, 0, 1) rotateX(0) rotateY(0) rotateZ(0) skew(0, 0);}
1html.w-mod-js:not(.w-mod-ix) [data-w-id="2027f076-c86c-7e7b-f5b1-eb03aef75e5b"] {-webkit-transform:translate3d(0, 0, 0) scale3d(0, 0, 1) rotateX(0) rotateY(0) rotateZ(0) skew(0, 0);-moz-transform:translate3d(0, 0, 0) scale3d(0, 0, 1) rotateX(0) rotateY(0) rotateZ(0) skew(0, 0);-ms-transform:translate3d(0, 0, 0) scale3d(0, 0, 1) rotateX(0) rotateY(0) rotateZ(0) skew(0, 0);transform:translate3d(0, 0, 0) scale3d(0, 0, 1) rotateX(0) rotateY(0) rotateZ(0) skew(0, 0);}html.w-mod-js:not(.w-mod-ix) [data-w-id="1932bfab-87e3-58f4-fa0a-72bb514fb6ef"] {-webkit-transform:translate3d(0, 0, 0) scale3d(0, 0, 1) rotateX(0) rotateY(0) rotateZ(0) skew(0, 0);-moz-transform:translate3d(0, 0, 0) scale3d(0, 0, 1) rotateX(0) rotateY(0) rotateZ(0) skew(0, 0);-ms-transform:translate3d(0, 0, 0) scale3d(0, 0, 1) rotateX(0) rotateY(0) rotateZ(0) skew(0, 0);transform:translate3d(0, 0, 0) scale3d(0, 0, 1) rotateX(0) rotateY(0) rotateZ(0) skew(0, 0);}html.w-mod-js:not(.w-mod-ix) [data-w-id="f93321dc-d745-9805-97c6-961416630337"] {-webkit-transform:translate3d(0, 0, 0) scale3d(0, 0, 1) rotateX(0) rotateY(0) rotateZ(0) skew(0, 0);-moz-transform:translate3d(0, 0, 0) scale3d(0, 0, 1) rotateX(0) rotateY(0) rotateZ(0) skew(0, 0);-ms-transform:translate3d(0, 0, 0) scale3d(0, 0, 1) rotateX(0) rotateY(0) rotateZ(0) skew(0, 0);transform:translate3d(0, 0, 0) scale3d(0, 0, 1) rotateX(0) rotateY(0) rotateZ(0) skew(0, 0);}html.w-mod-js:not(.w-mod-ix) [data-w-id="a1a45218-2b76-9cc9-6d8d-456c68a28106"] {-webkit-transform:translate3d(0, 0, 0) scale3d(0, 0, 1) rotateX(0) rotateY(0) rotateZ(0) skew(0, 0);-moz-transform:translate3d(0, 0, 0) scale3d(0, 0, 1) rotateX(0) rotateY(0) rotateZ(0) skew(0, 0);-ms-transform:translate3d(0, 0, 0) scale3d(0, 0, 1) rotateX(0) rotateY(0) rotateZ(0) skew(0, 0);transform:translate3d(0, 0, 0) scale3d(0, 0, 1) rotateX(0) rotateY(0) rotateZ(0) skew(0, 0);}}@media (max-width:767px) and (min-width:480px) {html.w-mod-js:not(.w-mod-ix) [data-w-id="ad3cc2e5-4433-4209-a164-bfa711ce4125"] {-webkit-transform:translate3d(0, 0, 0) scale3d(0, 0, 1) rotateX(0) rotateY(0) rotateZ(0) skew(0, 0);-moz-transform:translate3d(0, 0, 0) scale3d(0, 0, 1) rotateX(0) rotateY(0) rotateZ(0) skew(0, 0);-ms-transform:translate3d(0, 0, 0) scale3d(0, 0, 1) rotateX(0) rotateY(0) rotateZ(0) skew(0, 0);transform:translate3d(0, 0, 0) scale3d(0, 0, 1) rotateX(0) rotateY(0) rotateZ(0) skew(0, 0);}html.w-mod-js:not(.w-mod-ix) [data-w-id="2027f076-c86c-7e7b-f5b1-eb03aef75e5b"] {-webkit-transform:translate3d(0, 0, 0) scale3d(0, 0, 1) rotateX(0) rotateY(0) rotateZ(0) skew(0, 0);-moz-transform:translate3d(0, 0, 0) scale3d(0, 0, 1) rotateX(0) rotateY(0) rotateZ(0) skew(0, 0);-ms-transform:translate3d(0, 0, 0) scale3d(0, 0, 1) rotateX(0) rotateY(0) rotateZ(0) skew(0, 0);transform:translate3d(0, 0, 0) scale3d(0, 0, 1) rotateX(0) rotateY(0) rotateZ(0) skew(0, 0);}html.w-mod-js:not(.w-mod-ix) [data-w-id="1932bfab-87e3-58f4-fa0a-72bb514fb6ef"] {-webkit-transform:translate3d(0, 0, 0) scale3d(0, 0, 1) rotateX(0) rotateY(0) rotateZ(0) skew(0, 0);-moz-transform:translate3d(0, 0, 0) scale3d(0, 0, 1) rotateX(0) rotateY(0) rotateZ(0) skew(0, 0);-ms-transform:translate3d(0, 0, 0) scale3d(0, 0, 1) rotateX(0) rotateY(0) rotateZ(0) skew(0, 0);transform:translate3d(0, 0, 0) scale3d(0, 0, 1) rotateX(0) rotateY(0) rotateZ(0) skew(0, 0);}html.w-mod-js:not(.w-mod-ix) [data-w-id="f93321dc-d745-9805-97c6-961416630337"] {-webkit-transform:translate3d(0, 0, 0) scale3d(0, 0, 1) rotateX(0) rotateY(0) rotateZ(0) skew(0, 0);-moz-transform:translate3d(0, 0, 0) scale3d(0, 0, 1) rotateX(0) rotateY(0) rotateZ(0) skew(0, 0);-ms-transform:translate3d(0, 0, 0) scale3d(0, 0, 1) rotateX(0) rotateY(0) rotateZ(0) skew(0, 0);transform:translate3d(0, 0, 0) scale3d(0, 0, 1) rotateX(0) rotateY(0) rotateZ(0) skew(0, 0);}html.w-mod-js:not(.w-mod-ix) [data-w-id="a1a45218-2b76-9cc9-6d8d-456c68a28106"] {-webkit-transform:translate3d(0, 0, 0) scale3d(0, 0, 1) rotateX(0) rotateY(0) rotateZ(0) skew(0, 0);-moz-transform:translate3d(0, 0, 0) scale3d(0, 0, 1) rotateX(0) rotateY(0) rotateZ(0) skew(0, 0);-ms-transform:translate3d(0, 0, 0) scale3d(0, 0, 1) rotateX(0) rotateY(0) rotateZ(0) skew(0, 0);transform:translate3d(0, 0, 0) scale3d(0, 0, 1) rotateX(0) rotateY(0) rotateZ(0) skew(0, 0);}}</style><style>html.w-mod-js:not(.w-mod-ix3) :is(.about-new_image) {visibility: hidden !important;}</style>
1<link href="https://fonts.googleapis.com" rel="preconnect"/><link href="https://fonts.gstatic.com" rel="preconnect" crossorigin="anonymous"/>
1<script src="https://ajax.googleapis.com/ajax/libs/webfont/1.6.26/webfont.js" type="text/javascript"></script>
1<script type="text/javascript">WebFont.load({ google: { families: ["Roboto Mono:300,400,500,600,700"] }});</script>
1<script type="text/javascript">!function(o,c){var n=c.documentElement,t=" w-mod-";n.className+=t+"js",("ontouchstart"in o||o.DocumentTouch&&c instanceof DocumentTouch)&&(n.className+=t+"touch")}(window,document);</script>
1<link href="https://cdn.prod.website-files.com/6739bcfd5737b87720acef3b/67c02c4e340f78c4e1398acb_Favicon.svg" rel="shortcut icon" type="image/x-icon"/><link href="https://cdn.prod.website-files.com/6739bcfd5737b87720acef3b/67c02ce51572e0b7cd7c6673_Favicon.svg" rel="apple-touch-icon"/>
1<script type="application/ld+json"> 2 { 3 "@context": "https://schema.org", 4 "@graph": [ 5 { 6 "@type": "AboutPage", 7 "@id": "https://onthespotdev.com/about-us#webpage", 8 "url": "https://onthespotdev.com/about-us", 9 "name": "About On The Spot Development", 10 "description": "Who we are: a boutique company building dedicated offshore R&D teams in Poland for startups and tech companies.", 11 "inLanguage": "en", 12 "isPartOf": { 13 "@id": "https://onthespotdev.com/#website" 14 }, 15 "about": { 16 "@id": "https://onthespotdev.com/#organization" 17 }, 18 "publisher": { 19 "@id": "https://onthespotdev.com/#organization" 20 } 21 }, 22 { 23 "@type": "BreadcrumbList", 24 "itemListElement": [ 25 { 26 "@type": "ListItem", 27 "position": 1, 28 "name": "Home", 29 "item": "https://onthespotdev.com/" 30 }, 31 { 32 "@type": "ListItem", 33 "position": 2, 34 "name": "About us", 35 "item": "https://onthespotdev.com/about-us" 36 } 37 ] 38 } 39 ] 40} 41 </script>
vendor: 86 bytes, line 41
41<script src="https://www.google.com/recaptcha/api.js" type="text/javascript"></script>
41<style> 42 .main { 43 opacity: 0; 44 } 45 46</style> 47 48<style> 49 50html.lenis { 51 height: auto; 52} 53.lenis.lenis-smooth { 54 scroll-behavior: auto; 55} 56.lenis.lenis-smooth [data-lenis-prevent] { 57 overscroll-behavior: contain; 58} 59.lenis.lenis-stopped { 60 overflow: hidden; 61} 62 63</style>
64<script> 65 window.dataLayer = window.dataLayer || []; 66 function gtag(){ dataLayer.push(arguments); } 67 68 gtag('consent', 'default', { 69 ad_storage: 'denied', 70 ad_user_data: 'denied', 71 ad_personalization: 'denied', 72 analytics_storage: 'denied', 73 functionality_storage: 'granted', 74 security_storage: 'granted', 75 wait_for_update: 500 76 }); 77 78 (function () { 79 try { 80 var m = document.cookie.match(/(?:^|;\s*)ots_cookie_consent=([^;]+)/); 81 if (!m) return; 82 var c = JSON.parse(decodeURIComponent(m[1])); 83 gtag('consent', 'update', { 84 analytics_storage: c.analytics ? 'granted' : 'denied', 85 ad_storage: c.marketing ? 'granted' : 'denied', 86 ad_user_data: c.marketing ? 'granted' : 'denied', 87 ad_personalization: c.marketing ? 'granted' : 'denied' 88 }); 89 } catch (e) {} 90 })(); 91</script>
91 92 93<!-- Google Tag Manager -->
94<script>
vendor: 327 bytes, lines 94-98
94(function(w,d,s,l,i){w[l]=w[l]||[];w[l].push({'gtm.start': 95new Date().getTime(),event:'gtm.js'});var f=d.getElementsByTagName(s)[0], 96j=d.createElement(s),dl=l!='dataLayer'?'&l='+l:'';j.async=true;j.src= 97'https://www.googletagmanager.com/gtm.js?id='+i+dl;f.parentNode.insertBefore(j,f); 98})(window,document,'script','dataLayer','
98GTM-5D4P4QGM
vendor: 3 bytes, line 98
98');
98</script>
98 99<!-- End Google Tag Manager -->
100<script id="mcjs">!function(c,h,i,m,p){m=c.createElement(h),p=c.getElementsByTagName(h)[0],m.async=1,m.src=i,p.parentNode.insertBefore(m,p)}(document,"script","https://chimpstatic.com/mcjs-connected/js/users/aa3015ac9e033d770306d373c/56468349087506f9ee140c489.js");</script>
100 101
102<script type="application/ld+json"> 103{ 104 "@context": "https://schema.org", 105 "@graph": [ 106 { 107 "@type": "Organization", 108 "@id": "https://onthespotdev.com/#organization", 109 "name": "On The Spot Development", 110 "alternateName": "On The Spot", 111 "url": "https://onthespotdev.com/", 112 "logo": { 113 "@type": "ImageObject", 114 "@id": "https://onthespotdev.com/#logo", 115 "url": "https://cdn.prod.website-files.com/6739bcfd5737b87720acef3b/6739c1eb0f9259696a1869b0_Group%20461.svg", 116 "caption": "On The Spot Development" 117 }, 118 "image": { "@id": "https://onthespotdev.com/#logo" }, 119 "description": "Boutique software development company that builds and scales dedicated R&D teams in Poland for startups and tech companies, with recruitment, HR, payroll, office and administration included.", 120 "foundingDate": "2016", 121 "email": "[email protected]", 122 "address": { 123 "@type": "PostalAddress", 124 "streetAddress": "12a Montpellier Parade", 125 "addressLocality": "Harrogate", 126 "postalCode": "HG1 2TJ", 127 "addressCountry": "GB" 128 }, 129 "location": [ 130 { 131 "@type": "Place", 132 "name": "On The Spot Development R&D office", 133 "address": { 134 "@type": "PostalAddress", 135 "addressLocality": "Warsaw", 136 "addressCountry": "PL" 137 } 138 } 139 ], 140 "areaServed": [ 141 { "@type": "Country", "name": "United States" }, 142 { "@type": "Country", "name": "United Kingdom" }, 143 { "@type": "Country", "name": "Israel" } 144 ], 145 "knowsAbout": [ 146 "Offshore development center", 147 "Dedicated development teams", 148 "R&D team building in Poland", 149 "Tech recruitment", 150 "Fractional CTO", 151 "Custom software development", 152 "Software development for cybersecurity products", 153 "AI product development" 154 ], 155 "hasOfferCatalog": { 156 "@type": "OfferCatalog", 157 "name": "Services", 158 "itemListElement": [ 159 { 160 "@type": "Offer", 161 "itemOffered": { 162 "@type": "Service", 163 "@id": "https://onthespotdev.com/offshore-development-center#service", 164 "name": "Offshore Development Center", 165 "url": "https://onthespotdev.com/offshore-development-center" 166 } 167 }, 168 { 169 "@type": "Offer", 170 "itemOffered": { 171 "@type": "Service", 172 "@id": "https://onthespotdev.com/tech-recruitment-services#service", 173 "name": "Tech Recruitment Services", 174 "url": "https://onthespotdev.com/tech-recruitment-services" 175 } 176 }, 177 { 178 "@type": "Offer", 179 "itemOffered": { 180 "@type": "Service", 181 "@id": "https://onthespotdev.com/cto-as-a-service#service", 182 "name": "Fractional CTO Services", 183 "url": "https://onthespotdev.com/cto-as-a-service" 184 } 185 }, 186 { 187 "@type": "Offer", 188 "itemOffered": { 189 "@type": "Service", 190 "@id": "https://onthespotdev.com/custom-software-development#service", 191 "name": "Custom Software Development", 192 "url": "https://onthespotdev.com/custom-software-development" 193 } 194 }, 195 { 196 "@type": "Offer", 197 "itemOffered": { 198 "@type": "Service", 199 "@id": "https://onthespotdev.com/dedicated-development-team#service", 200 "name": "Dedicated development team", 201 "url": "https://onthespotdev.com/dedicated-development-team" 202 } 203 } 204 ] 205 }, 206 "award": [ 207 "Clutch Top Staff Augmentation Company 2025", 208 "Clutch Top Unity Developers, Warsaw 2025", 209 "Clutch Top Software Developers, Gaming, Warsaw 2025", 210 "RightFirms Top Service Provider 2025", 211 "DesignRush Top Software Development Companies 2025", 212 "SoftwareWorld Top Rated 2025" 213 ], 214 "sameAs": [ 215 "https://www.linkedin.com/company/on-the-spot-dev", 216 "https://clutch.co/profile/spot-development-0", 217 "https://www.youtube.com/@onthespotdev", 218 "https://www.facebook.com/onthespotdev/", 219 "https://www.instagram.com/on.the.spot.daily", 220 "https://t.me/onthespotjob" 221 ] 222 }, 223 { 224 "@type": "WebSite", 225 "@id": "https://onthespotdev.com/#website", 226 "url": "https://onthespotdev.com/", 227 "name": "On The Spot Development", 228 "publisher": { "@id": "https://onthespotdev.com/#organization" }, 229 "inLanguage": "en" 230 } 231 ] 232} 233</script>
233 234 235<!-- Form-validator (tools.refokus.com) required-field error styling, site-wide. 236 The validator toggles "cc-error"/"cc-valid" on submit/change for every field type, but the 237 site only ever had a rule for ".form-input.error" (a different class name), so invalid state 238 showed nothing: text inputs, textareas, checkboxes and radios all failed silently. 239 This makes that existing invalid state visible, consistently, for every field type. --> 240<style> 241 /* Text-like fields (input, textarea, select) sharing the site's ".form-input" class */ 242 .form-input.cc-error { 243 border-color: var(--pink); 244 } 245 246 /* Checkbox: the validator toggles the class on the visible ".w-checkbox-input" itself */ 247 .w-checkbox-input.cc-error { 248 border-color: var(--pink); 249 box-shadow: 0 0 0 1px var(--pink); 250 } 251 252 /* Radio: the validator toggles the class on the visually-hidden native <input>, not on the 253 visible ".w-radio-input" proxy, so a plain selector on the input has nothing to color. 254 :has() reaches from the wrapping label into the hidden input to style the visible proxy. */ 255 label.w-radio:has(input.cc-error) .w-radio-input { 256 border-color: var(--pink); 257 box-shadow: 0 0 0 1px var(--pink); 258 } 259 260 /* Any select not already covered by .form-input above */ 261 select.cc-error { 262 border-color: var(--pink); 263 } 264</style> 265 266<!-- Form-validator: "Email Form 2" component family (custom-software-development, cto-as-a-service, 267 offshore-development-center, tech-recruitment-services) uses ".cta_input"/".cta_input_2" instead 268 of ".form-input" for its text/textarea fields. Unlike ".form-input", these classes have 269 border-width: 0 by default, so setting only border-color renders nothing visible. 270 box-shadow doesn't depend on border-width, so it's used here instead (same fix as checkbox/radio). --> 271<style> 272 .cta_input.cc-error, 273 .cta_input_2.cc-error { 274 box-shadow: 0 0 0 1px var(--pink); 275 } 276</style> 277 278<style> 279 .line-wrap { 280 overflow: hidden; 281 } 282 283</style> 284</head><body><div class="page"><div class="global-css"><div class="w-embed"><style> 285textarea { 286 resize: none; 287} 288a { 289color: inherit; 290} 291</style> 292<style> 293body { 294 font-size: 1.1111111111111112vw; 295} 296 297/* Min Font Size */ 298@media screen and (max-width:479px) { 299 body {font-size: 5.322222222222223px;} 300} 301[id] { scroll-margin-top: 5em; } 302html { scroll-padding-top: 5em; } 303 304</style> 305<style> 306/*width*/ 307.services_tabs_menu::-webkit-scrollbar {
308width:0px; 309} 310 311input::-webkit-outer-spin-button, 312input::-webkit-inner-spin-button { 313 -webkit-appearance: none; 314} 315input[type='number'] { 316 -moz-appearance: textfield; 317} 318 319</style> 320 321<!-- Rich text lists: pink marker only, text inherits colour. Docs: CLAUDE.md --> 322<style> 323.w-richtext ul, 324.w-richtext ol, 325.w-richtext li { 326 color: inherit; 327} 328.w-richtext li::marker { 329 color: var(--pink, #e81c50); 330} 331.rich-text_services ul, 332.rich-text_services ol { 333 font-size: 1.19em; 334 display: flex; 335 flex-direction: column; 336 gap: 0.45em; 337 margin: 0.45em 0; 338 padding-left: 1.1em; 339} 340.rich-text_services-small ul, 341.rich-text_services-small ol { 342 font-size: 1em; 343 display: flex; 344 flex-direction: column; 345 gap: 0.5em; 346 margin: 0.5em 0; 347 padding-left: 1.3em; 348} 349.rich-text_services li, 350.rich-text_services-small li { 351 font-size: 1em; 352 line-height: 1.2; 353} 354@media screen and (max-width: 479px) { 355 .rich-text_services ul, 356 .rich-text_services ol { font-size: 5.28vw; } 357 .rich-text_services-small ul, 358 .rich-text_services-small ol { font-size: 4.44vw; } 359} 360</style> 361 362<!-- Centred intro / outro rich text (classes section-intro, section-outro) --> 363<style> 364.section-intro p, 365.section-outro p { 366 margin: 0; 367 font-size: inherit; 368 line-height: inherit; 369 color: inherit; 370} 371.section-intro > *:first-child, 372.section-outro > *:first-child { margin-top: 0; } 373.section-intro > *:last-child, 374.section-outro > *:last-child { margin-bottom: 0; } 375.section-intro p + p, 376.section-outro p + p { margin-top: 0.5em; } 377.section-intro a, 378.section-outro a { 379 color: inherit; 380 text-decoration: underline; 381 transition: color 0.3s; 382} 383.section-intro a:hover, 384.section-outro a:hover { color: var(--pink, #e81c50); } 385.section-intro ul, .section-intro ol, 386.section-outro ul, .section-outro ol { 387 display: inline-block; 388 text-align: left; 389 color: inherit; 390 font-size: 1em; 391 line-height: inherit; 392 margin: 0.5em 0 0; 393 padding-left: 1.2em; 394} 395.section-intro li, 396.section-outro li { font-size: 1em; line-height: inherit; } 397.section-intro li + li, 398.section-outro li + li { margin-top: 0.35em; } 399</style></div></div><div data-wf--navbar_new--variant="base" class="navbare_simbol"><div class="navbar_dropdown"><div id="w-node-da570d46-7395-2fb5-3f8c-6da829c93574-4a2a350f" class="navbar_dd-links-wrapper"><div class="navbar_links-column"><a href="/offshore-development-center" class="services_dropdown_link w-inline-block"><div class="p cc-27px">Offshore Development Center</div></a><a href="/dedicated-development-team" class="services_dropdown_link w-inline-block"><div class="p cc-27px">Dedicated Development Team</div></a><a href="/tech-recruitment-services" class="services_dropdown_link w-inline-block"><div class="p cc-27px">Tech Recruitment Services</div></a><a href="/custom-software-development" class="services_dropdown_link w-inline-block"><div class="p cc-27px">Custom Software Development</div></a><a href="/cto-as-a-service" class="services_dropdown_link w-inline-block"><div class="p cc-27px">Fractional CTO Services</div></a></div><div class="navbar_links-column"></div></div><div id="w-node-_42b94699-1fa2-5538-6f79-5d7d46a07c02-46a07c02" data-wf--navbar-explore-our-blog--variant="base" class="navbar_dd-articles-wrapper"><div class="navbar_dd-blog-top"><div class="navbar_dd-blog-top-title"><div class="p-small u-text-color-gray-1">Explore our blog</div></div><div class="w-dyn-list"><div role="list" class="navbar_dd-blog-articles w-dyn-items"><div role="listitem" class="navbar_dd-blog-item w-dyn-item"><img loading="lazy" src="https://cdn.prod.website-files.com/6756c0ab6791c11bddbf709d/6a6758424802c4ff9bc6d4f5_ODC_cover_01%20(1).png" alt="What is Offshore Development Center" sizes="100vw" srcset="https://cdn.prod.website-files.com/6756c0ab6791c11bddbf709d/6a6758424802c4ff9bc6d4f5_ODC_cover_01%20(1)-p-500.png 500w, https://cdn.prod.website-files.com/6756c0ab6791c11bddbf709d/6a6758424802c4ff9bc6d4f5_ODC_cover_01%20(1)-p-800.png 800w, https://cdn.prod.website-files.com/6756c0ab6791c11bddbf709d/6a6758424802c4ff9bc6d4f5_ODC_cover_01%20(1)-p-1080.png 1080w, https://cdn.prod.website-files.com/6756c0ab6791c11bddbf709d/6a6758424802c4ff9bc6d4f5_ODC_cover_01%20(1)-p-1600.png 1600w, https://cdn.prod.website-files.com/6756c0ab6791c11bddbf709d/6a6758424802c4ff9bc6d4f5_ODC_cover_01%20(1).png 1920w" class="navbar_dd-blog-img"/><div class="p text-wrap-2-line">What is an offshore development center: a complete guide</div><a href="/post/what-is-an-offshore-development-center" class="navbar_dd-articles-link w-inline-block"></a></div><div role="listitem" class="navbar_dd-blog-item w-dyn-item"><img loading="lazy" src="https://cdn.prod.website-files.com/6756c0ab6791c11bddbf709d/6a427e7fcf4f75b8a24352e5_Cover.png" alt="" sizes="100vw" srcset="https://cdn.prod.website-files.com/6756c0ab6791c11bddbf709d/6a427e7fcf4f75b8a24352e5_Cover-p-500.png 500w, https://cdn.prod.website-files.com/6756c0ab6791c11bddbf709d/6a427e7fcf4f75b8a24352e5_Cover-p-800.png 800w, https://cdn.prod.website-files.com/6756c0ab6791c11bddbf709d/6a427e7fcf4f75b8a24352e5_Cover-p-1080.png 1080w, https://cdn.prod.website-files.com/6756c0ab6791c11bddbf709d/6a427e7fcf4f75b8a24352e5_Cover-p-1600.png 1600w, https://cdn.prod.website-files.com/6756c0ab6791c11bddbf709d/6a427e7fcf4f75b8a24352e5_Cover.png 1920w" class="navbar_dd-blog-img"/><div class="p text-wrap-2-line">After prompts and context: the next shift in AI-native engineering</div><a href="/post/ai-native-engineering-techspot-meetup" class="navbar_dd-articles-link w-inline-block"></a></div><div role="listitem" class="navbar_dd-blog-item w-dyn-item"><img loading="lazy" src="https://cdn.prod.website-files.com/6756c0ab6791c11bddbf709d/6a05764b8e4f629ba1dbc38a_AI%20impact%20on%20engineering%20roles%20and%20hiring%20practices.png" alt="" sizes="100vw" srcset="https://cdn.prod.website-files.com/6756c0ab6791c11bddbf709d/6a05764b8e4f629ba1dbc38a_AI%20impact%20on%20engineering%20roles%20and%20hiring%20practices-p-500.png 500w, https://cdn.prod.website-files.com/6756c0ab6791c11bddbf709d/6a05764b8e4f629ba1dbc38a_AI%20impact%20on%20engineering%20roles%20and%20hiring%20practices-p-800.png 800w, https://cdn.prod.website-files.com/6756c0ab6791c11bddbf709d/6a05764b8e4f629ba1dbc38a_AI%20impact%20on%20engineering%20roles%20and%20hiring%20practices-p-1080.png 1080w, https://cdn.prod.website-files.com/6756c0ab6791c11bddbf709d/6a05764b8e4f629ba1dbc38a_AI%20impact%20on%20engineering%20roles%20and%20hiring%20practices-p-1600.png 1600w, https://cdn.prod.website-files.com/6756c0ab6791c11bddbf709d/6a05764b8e4f629ba1dbc38a_AI%20impact%20on%20engineering%20roles%20and%20hiring%20practices.png 1920w" class="navbar_dd-blog-img"/><div class="p text-wrap-2-line">AI impact on engineering roles and hiring practices</div><a href="/post/ai-impact-on-developers-and-hiring" class="navbar_dd-articles-link w-inline-block"></a></div></div></div></div><div class="w-dyn-list"><div role="list" class="w-dyn-items"><div role="listitem" class="w-dyn-item"><div class="navbar_dd-blog-bottom"><div class="navbar_dd-blog-image"><img src="https://cdn.prod.website-files.com/6739bcfd5737b87720acef3b/6a702cccca872d1b5a3a7add_Tech%20spot.avif" loading="lazy" sizes="(max-width: 3376px) 100v
399w, 3376px" srcset="https://cdn.prod.website-files.com/6739bcfd5737b87720acef3b/6a702cccca872d1b5a3a7add_Tech%20spot-p-500.avif 500w, https://cdn.prod.website-files.com/6739bcfd5737b87720acef3b/6a702cccca872d1b5a3a7add_Tech%20spot-p-800.avif 800w, https://cdn.prod.website-files.com/6739bcfd5737b87720acef3b/6a702cccca872d1b5a3a7add_Tech%20spot-p-1080.avif 1080w, https://cdn.prod.website-files.com/6739bcfd5737b87720acef3b/6a702cccca872d1b5a3a7add_Tech%20spot-p-1600.avif 1600w, https://cdn.prod.website-files.com/6739bcfd5737b87720acef3b/6a702cccca872d1b5a3a7add_Tech%20spot-p-2000.avif 2000w, https://cdn.prod.website-files.com/6739bcfd5737b87720acef3b/6a702cccca872d1b5a3a7add_Tech%20spot-p-2600.avif 2600w, https://cdn.prod.website-files.com/6739bcfd5737b87720acef3b/6a702cccca872d1b5a3a7add_Tech%20spot.avif 3376w" alt="" class="nav_techspot-img"/></div><div class="navbar_dd-art-text-wrap"><h3 class="h3 cc-30px">TechSpot</h3><div class="u-spacer-10"></div><div class="cc-max-300"><p class="p_small">Software architecture events in Poland and online, bringing together engineers and industry experts.</p></div></div><a href="/techspot" class="button2 white-desk-100 w-inline-block"><div class="button_circle white-desk-100-2"><div class="button_text cc-16px white-desk-100-4 cc-button-red white-desk-100-3">join</div></div><div class="button_text cc-16px white-desk-100-4">join</div></a></div></div></div></div></div><div id="w-node-_31beeff8-8682-2b78-414b-aee1177629d4-177629d4" class="navbar_dd-social-wrapper"><div class="u-horizontal-flex cc-gap-10"><a href="https://ru.linkedin.com/company/on-the-spot-dev" target="_blank" class="footer_social_link w-inline-block"><div class="u-icon-18px w-embed"><svg xmlns="http://www.w3.org/2000/svg" width="100%" height="100%" viewBox="0 0 18 19" fill="none" preserveAspectRatio="xMidYMid meet" aria-hidden="true" role="img"> 400<path fill-rule="evenodd" clip-rule="evenodd" d="M3.375 2.93164C2.75368 2.93164 2.25 3.43532 2.25 4.05664V15.3066C2.25 15.9279 2.75368 16.4316 3.375 16.4316H14.625C15.2463 16.4316 15.75 15.9279 15.75 15.3066V4.05664C15.75 3.43532 15.2463 2.93164 14.625 2.93164H3.375ZM6.39057 5.93368C6.39479 6.65087 5.85796 7.09278 5.22092 7.08962C4.6208 7.08645 4.09768 6.60868 4.10084 5.93474C4.10401 5.30087 4.60498 4.79145 5.25573 4.80622C5.91596 4.82099 6.39479 5.30509 6.39057 5.93368ZM9.20977 8.00296H7.31978H7.31872V14.4228H9.31627V14.2731C9.31627 13.9881 9.31605 13.7031 9.31582 13.4181C9.31522 12.6577 9.31455 11.8965 9.31845 11.1364C9.3195 10.9518 9.3279 10.7599 9.37537 10.5837C9.55357 9.92562 10.1453 9.50059 10.8055 9.60507C11.2295 9.67144 11.51 9.91722 11.6281 10.317C11.701 10.5669 11.7337 10.8358 11.7368 11.0964C11.7454 11.8821 11.7442 12.6678 11.743 13.4535C11.7425 13.7309 11.7421 14.0084 11.7421 14.2857V14.4218H13.746V14.2678C13.746 13.9288 13.7458 13.5899 13.7456 13.251C13.7452 12.4038 13.7448 11.5567 13.747 10.7093C13.7481 10.3264 13.707 9.94887 13.6131 9.57867C13.4729 9.02809 13.1828 8.57247 12.7114 8.24344C12.377 8.00928 12.01 7.85847 11.5997 7.84159C11.553 7.83965 11.5059 7.83711 11.4586 7.83455C11.2488 7.82321 11.0356 7.81169 10.835 7.85214C10.2613 7.9671 9.7572 8.22972 9.37642 8.69269C9.33217 8.74579 9.2889 8.79972 9.22433 8.88019L9.20977 8.89842V8.00296ZM4.26123 14.4249H6.24932V8.00714H4.26123V14.4249Z" fill="currentColor"/> 401</svg></div></a><a href="https://www.youtube.com/@onthespotdev" target="_blank" class="footer_social_link w-inline-block"><div class="u-icon-18px w-embed"><svg xmlns="http://www.w3.org/2000/svg" width="100%" height="100%" viewBox="0 0 18 19" fill="none" preserveAspectRatio="xMidYMid meet" aria-hidden="true" role="img"> 402<path d="M14.7559 6.82087C14.6876 6.56749 14.5541 6.33642 14.3688 6.15064C14.1834 5.96487 13.9527 5.83089 13.6994 5.76202C12.7605 5.5042 9.00415 5.5 9.00415 5.5C9.00415 5.5 5.24841 5.49581 4.30888 5.74223C4.05581 5.81427 3.82551 5.95015 3.64009 6.13683C3.45467 6.32352 3.32035 6.55473 3.25002 6.80828C3.0024 7.74721 3 9.69464 3 9.69464C3 9.69464 2.9976 11.6517 3.24343 12.581C3.38133 13.0948 3.78605 13.5007 4.30048 13.6392C5.24901 13.8971 8.99516 13.9013 8.99516 13.9013C8.99516 13.9013 12.7515 13.9055 13.6904 13.6596C13.9438 13.5909 14.1747 13.4572 14.3606 13.2718C14.5464 13.0864 14.6806 12.8557 14.7499 12.6026C14.9981 11.6642 14.9999 9.71742 14.9999 9.71742C14.9999 9.71742 15.0119 7.75981 14.7559 6.82087ZM7.8026 11.4988L7.8056 7.90131L10.9276 9.70303L7.8026 11.4988Z" fill="currentColor"/> 403</svg></div></a><a href="https://t.me/onthespotjob" target="_blank" class="footer_social_link w-inline-block"><div class="u-icon-18px w-embed"><svg xmlns="http://www.w3.org/2000/svg" width="100%" height="100%" viewB
403ox="0 0 18 19" fill="none" preserveAspectRatio="xMidYMid meet" aria-hidden="true" role="img"> 404<path d="M13.325 4.55918L4.46694 8.22481C3.86241 8.48538 3.86591 8.84728 4.35603 9.00866L6.63025 9.76999L11.8921 6.20729C12.1409 6.04484 12.3683 6.13223 12.1814 6.31023L7.91824 10.4391H7.91724L7.91824 10.4396L7.76136 12.9552C7.99118 12.9552 8.0926 12.8421 8.2215 12.7086L9.32614 11.5559L11.6238 13.3772C12.0475 13.6276 12.3518 13.4989 12.4572 12.9563L13.9655 5.32801C14.1199 4.66373 13.7292 4.36295 13.325 4.55918Z" fill="currentColor"/> 405</svg></div></a><a href="https://instagram.com/on.the.spot.daily" target="_blank" class="footer_social_link w-inline-block"><div class="u-icon-18px w-embed"><svg xmlns="http://www.w3.org/2000/svg" width="100%" height="100%" viewBox="0 0 18 19" fill="none" preserveAspectRatio="xMidYMid meet" aria-hidden="true" role="img"> 406<path d="M8.99961 11.8996C10.3251 11.8996 11.3996 10.8251 11.3996 9.49961C11.3996 8.17413 10.3251 7.09961 8.99961 7.09961C7.67413 7.09961 6.59961 8.17413 6.59961 9.49961C6.59961 10.8251 7.67413 11.8996 8.99961 11.8996Z" fill="currentColor"/> 407<path d="M11.9992 2.2998H5.9992C3.6838 2.2998 1.7998 4.18441 1.7998 6.50041V12.5004C1.7998 14.8158 3.68441 16.6998 6.00041 16.6998H12.0004C14.3158 16.6998 16.1998 14.8152 16.1998 12.4992V6.4992C16.1998 4.1838 14.3152 2.2998 11.9992 2.2998ZM8.9998 13.0998C7.0144 13.0998 5.3998 11.4852 5.3998 9.4998C5.3998 7.5144 7.0144 5.8998 8.9998 5.8998C10.9852 5.8998 12.5998 7.5144 12.5998 9.4998C12.5998 11.4852 10.9852 13.0998 8.9998 13.0998ZM13.1998 5.8998C12.8686 5.8998 12.5998 5.631 12.5998 5.2998C12.5998 4.9686 12.8686 4.6998 13.1998 4.6998C13.531 4.6998 13.7998 4.9686 13.7998 5.2998C13.7998 5.631 13.531 5.8998 13.1998 5.8998Z" fill="currentColor"/> 408</svg></div></a><a href="https://www.facebook.com/onthespotdev/" target="_blank" class="footer_social_link w-inline-block"><div class="u-icon-18px w-embed"><svg xmlns="http://www.w3.org/2000/svg" width="100%" height="100%" viewBox="0 0 18 19" fill="none" preserveAspectRatio="xMidYMid meet" aria-hidden="true" role="img"> 409<path d="M16.5 9.72747C16.5 5.56002 13.1422 2.18164 9 2.18164C4.85786 2.18164 1.5 5.56002 1.5 9.72747C1.5 13.4937 4.24263 16.6155 7.82812 17.1816V11.9087H5.92383V9.72747H7.82812V8.06503C7.82812 6.17386 8.94787 5.12923 10.6609 5.12923C11.4816 5.12923 12.3398 5.27661 12.3398 5.27661V7.1336H11.3941C10.4625 7.1336 10.1719 7.71531 10.1719 8.31207V9.72747H12.2519L11.9194 11.9087H10.1719V17.1816C13.7574 16.6155 16.5 13.4939 16.5 9.72747Z" fill="currentColor"/> 410</svg></div></a></div></div></div><div class="navbar_dropdown"><div id="w-node-_6ce67fde-343e-14f1-5c66-4acb2fada3f8-4a2a350f" class="navbar_dd-links-wrapper"><div class="navbar_links-column"><a href="/about-us" aria-current="page" class="services_dropdown_link large-link w-inline-block w--current"><div class="p cc-40px">About us</div></a><a href="/techspot" class="services_dropdown_link large-link w-inline-block"><div class="p cc-40px">Techspot Events</div></a><a href="/blog" class="services_dropdown_link large-link w-inline-block"><div class="p cc-40px">Blog</div></a></div><div class="navbar_links-column"></div></div><div id="w-node-_42b94699-1fa2-5538-6f79-5d7d46a07c02-46a07c02" data-wf--navbar-explore-our-blog--variant="base" class="navbar_dd-articles-wrapper"><div class="navbar_dd-blog-top"><div class="navbar_dd-blog-top-title"><div class="p-small u-text-color-gray-1">Explore our blog</div></div><div class="w-dyn-list"><div role="list" class="navbar_dd-blog-articles w-dyn-items"><div role="listitem" class="navbar_dd-blog-item w-dyn-item"><img loading="lazy" src="https://cdn.prod.website-files.com/6756c0ab6791c11bddbf709d/6a6758424802c4ff9bc6d4f5_ODC_cover_01%20(1).png" alt="What is Offshore Development Center" sizes="100vw" srcset="https://cdn.prod.website-files.com/6756c0ab6791c11bddbf709d/6a6758424802c4ff9bc6d4f5_ODC_cover_01%20(1)-p-500.png 500w, https://cdn.prod.website-files.com/6756c0ab6791c11bddbf709d/6a6758424802c4ff9bc6d4f5_ODC_cover_01%20(1)-p-800.png 800w, https://cdn.prod.website-files.com/6756c0ab6791c11bddbf709d/6a6758424802c4ff9bc6d4f5_ODC_cover_01%20(1)-p-1080.png 1080w, https://cdn.prod.website-files.com/6756c0ab6791c11bddbf709d/6a6758424802c4ff9bc6d4f5_ODC_cover_01%20(1)-p-1600.png 1600w, https://cdn.prod.website-files.com/6756c0ab6791c11bddbf709d/6a6758424802c4ff9bc6d4f5_ODC_cover_01%20(1).png 1920w" class="navbar_dd-blog-img"/><div class="p text-wrap-2-line">What is an offshore development center: a complete guide</div><a href="/post/what-is-an-offshore-development-center" class="navbar_dd-articles-link w-inline-block"></a></div><div role="listitem" class="navbar_dd-blog-item w-dyn-item"><img loading="lazy" src="https://cdn.prod.website-files.com/6756c0ab6791c11bddbf709d/6a427e7fcf4f75b8a24352e5_Cover.png" alt="" sizes="100vw" srcset="https://cdn.prod.website-files.com/6756c0ab6791c11bddbf709d/6a427e7fcf4f75b8a24352e5_Cover-p-500.png 500w, https://cdn.prod.website-files.com/6756c0ab6791c11bddbf709d/6a427e7fcf4f75b8a24352e5_Cover-p-800.png 800w, https://cdn.prod.website-files.com/6756c0ab6791c11bddbf709d/6a427e7fcf4f75b8a24352e5_Cover-p-1080.png 1080w, https://cdn.prod.website-files.com/6756c0ab6791c11bddbf709d/6a427e7fcf4f75b8a24352e5_Cover-p-1600.png 1600w, https://cdn.prod.website-files.com/6756c0ab6791c11bddbf709d/6a427e7fcf4f75b8a24352e5_Cover.png 1920w" class="navbar_dd-blog-img"/><div class="p text-wrap-2-line">After prompts and context: the next shift in AI-native engineering</div><a href="/post/ai-native-engineering-techspot-meetup" class="navbar_dd-articles-link w-inline-block"></a></div><div role="listitem" class="navbar_dd-blog-item w-dyn-item"><img loading="lazy" src="https://cdn.prod.website-files.com/6756c0ab6791c11bddbf709d/6a05764b8e4f629ba1dbc38a_AI%20impact%20on%20engineering%20roles%20and%20hiring%20practices.png" alt="" sizes="100vw" srcset="https://cdn.prod.website-files.com/6756c0ab6791c11bddbf709d/6a05764b8e4f629ba1dbc38a_AI%20impact%20on%20engineering%20roles%20and%20hiring%20practices-p-500.png 500w, https://cdn.prod.website-files.com/6756c0ab6791c11bddbf709d/6a05764b8e4f629ba1dbc38a_AI%20impact%20on%20engineering%20roles%20and%20hiring%20practices-p-800.png 800w, https://cdn.prod.website-files.com/6756c0ab6791c11bddbf709d/6a05764b8e4f629ba1dbc38a_AI%20impact%20on%20engineering%20roles%20and%20hiring%20practices-p-1080.png 1080w, https://cdn.prod.website-files.com/6756c0ab6791c11bddbf709d/6a05764b8e4f629ba1dbc38a_AI%20impact%20on%20engineering%20roles%20and%20hiring%20practices-p-1600.png 1600w, https://cdn.prod.website-files.com/6756c0ab6791c11bddbf709d/6a05764b8e4f629ba1dbc38a_AI%20impact%20on%20engineering%20roles%20and%20hiring%20practices.png 1920w" class="navbar_dd-blog-img"/><div class="p text-wrap-2-line">AI impact on engineering roles and hiring practices</div><a href="/post/ai-impact-on-developers-and-hiring" class="navbar_dd-articles-link w-inline-block"></a></div></div></div></div><div class="w-dyn-list"><div role="list" class="w-dyn-items"><div role="listitem" class="w-dyn-item"><div class="navbar_dd-blog-bottom"><div class="navbar_dd-blog-image"><img src="https://cdn.prod.website-files.com/6739bcfd5737b87720acef3b/6a702cccca872d1b5a3a7add_Tech%20spot.avif" loading="lazy" sizes="(max-width: 3376px) 100v
410w, 3376px" srcset="https://cdn.prod.website-files.com/6739bcfd5737b87720acef3b/6a702cccca872d1b5a3a7add_Tech%20spot-p-500.avif 500w, https://cdn.prod.website-files.com/6739bcfd5737b87720acef3b/6a702cccca872d1b5a3a7add_Tech%20spot-p-800.avif 800w, https://cdn.prod.website-files.com/6739bcfd5737b87720acef3b/6a702cccca872d1b5a3a7add_Tech%20spot-p-1080.avif 1080w, https://cdn.prod.website-files.com/6739bcfd5737b87720acef3b/6a702cccca872d1b5a3a7add_Tech%20spot-p-1600.avif 1600w, https://cdn.prod.website-files.com/6739bcfd5737b87720acef3b/6a702cccca872d1b5a3a7add_Tech%20spot-p-2000.avif 2000w, https://cdn.prod.website-files.com/6739bcfd5737b87720acef3b/6a702cccca872d1b5a3a7add_Tech%20spot-p-2600.avif 2600w, https://cdn.prod.website-files.com/6739bcfd5737b87720acef3b/6a702cccca872d1b5a3a7add_Tech%20spot.avif 3376w" alt="" class="nav_techspot-img"/></div><div class="navbar_dd-art-text-wrap"><h3 class="h3 cc-30px">TechSpot</h3><div class="u-spacer-10"></div><div class="cc-max-300"><p class="p_small">Software architecture events in Poland and online, bringing together engineers and industry experts.</p></div></div><a href="/techspot" class="button2 white-desk-100 w-inline-block"><div class="button_circle white-desk-100-2"><div class="button_text cc-16px white-desk-100-4 cc-button-red white-desk-100-3">join</div></div><div class="button_text cc-16px white-desk-100-4">join</div></a></div></div></div></div></div><div id="w-node-_31beeff8-8682-2b78-414b-aee1177629d4-177629d4" class="navbar_dd-social-wrapper"><div class="u-horizontal-flex cc-gap-10"><a href="https://ru.linkedin.com/company/on-the-spot-dev" target="_blank" class="footer_social_link w-inline-block"><div class="u-icon-18px w-embed"><svg xmlns="http://www.w3.org/2000/svg" width="100%" height="100%" viewBox="0 0 18 19" fill="none" preserveAspectRatio="xMidYMid meet" aria-hidden="true" role="img"> 411<path fill-rule="evenodd" clip-rule="evenodd" d="M3.375 2.93164C2.75368 2.93164 2.25 3.43532 2.25 4.05664V15.3066C2.25 15.9279 2.75368 16.4316 3.375 16.4316H14.625C15.2463 16.4316 15.75 15.9279 15.75 15.3066V4.05664C15.75 3.43532 15.2463 2.93164 14.625 2.93164H3.375ZM6.39057 5.93368C6.39479 6.65087 5.85796 7.09278 5.22092 7.08962C4.6208 7.08645 4.09768 6.60868 4.10084 5.93474C4.10401 5.30087 4.60498 4.79145 5.25573 4.80622C5.91596 4.82099 6.39479 5.30509 6.39057 5.93368ZM9.20977 8.00296H7.31978H7.31872V14.4228H9.31627V14.2731C9.31627 13.9881 9.31605 13.7031 9.31582 13.4181C9.31522 12.6577 9.31455 11.8965 9.31845 11.1364C9.3195 10.9518 9.3279 10.7599 9.37537 10.5837C9.55357 9.92562 10.1453 9.50059 10.8055 9.60507C11.2295 9.67144 11.51 9.91722 11.6281 10.317C11.701 10.5669 11.7337 10.8358 11.7368 11.0964C11.7454 11.8821 11.7442 12.6678 11.743 13.4535C11.7425 13.7309 11.7421 14.0084 11.7421 14.2857V14.4218H13.746V14.2678C13.746 13.9288 13.7458 13.5899 13.7456 13.251C13.7452 12.4038 13.7448 11.5567 13.747 10.7093C13.7481 10.3264 13.707 9.94887 13.6131 9.57867C13.4729 9.02809 13.1828 8.57247 12.7114 8.24344C12.377 8.00928 12.01 7.85847 11.5997 7.84159C11.553 7.83965 11.5059 7.83711 11.4586 7.83455C11.2488 7.82321 11.0356 7.81169 10.835 7.85214C10.2613 7.9671 9.7572 8.22972 9.37642 8.69269C9.33217 8.74579 9.2889 8.79972 9.22433 8.88019L9.20977 8.89842V8.00296ZM4.26123 14.4249H6.24932V8.00714H4.26123V14.4249Z" fill="currentColor"/> 412</svg></div></a><a href="https://www.youtube.com/@onthespotdev" target="_blank" class="footer_social_link w-inline-block"><div class="u-icon-18px w-embed"><svg xmlns="http://www.w3.org/2000/svg" width="100%" height="100%" viewBox="0 0 18 19" fill="none" preserveAspectRatio="xMidYMid meet" aria-hidden="true" role="img"> 413<path d="M14.7559 6.82087C14.6876 6.56749 14.5541 6.33642 14.3688 6.15064C14.1834 5.96487 13.9527 5.83089 13.6994 5.76202C12.7605 5.5042 9.00415 5.5 9.00415 5.5C9.00415 5.5 5.24841 5.49581 4.30888 5.74223C4.05581 5.81427 3.82551 5.95015 3.64009 6.13683C3.45467 6.32352 3.32035 6.55473 3.25002 6.80828C3.0024 7.74721 3 9.69464 3 9.69464C3 9.69464 2.9976 11.6517 3.24343 12.581C3.38133 13.0948 3.78605 13.5007 4.30048 13.6392C5.24901 13.8971 8.99516 13.9013 8.99516 13.9013C8.99516 13.9013 12.7515 13.9055 13.6904 13.6596C13.9438 13.5909 14.1747 13.4572 14.3606 13.2718C14.5464 13.0864 14.6806 12.8557 14.7499 12.6026C14.9981 11.6642 14.9999 9.71742 14.9999 9.71742C14.9999 9.71742 15.0119 7.75981 14.7559 6.82087ZM7.8026 11.4988L7.8056 7.90131L10.9276 9.70303L7.8026 11.4988Z" fill="currentColor"/> 414</svg></div></a><a href="https://t.me/onthespotjob" target="_blank" class="footer_social_link w-inline-block"><div class="u-icon-18px w-embed"><svg xmlns="http://www.w3.org/2000/svg" width="100%" height="100%" viewB
414ox="0 0 18 19" fill="none" preserveAspectRatio="xMidYMid meet" aria-hidden="true" role="img"> 415<path d="M13.325 4.55918L4.46694 8.22481C3.86241 8.48538 3.86591 8.84728 4.35603 9.00866L6.63025 9.76999L11.8921 6.20729C12.1409 6.04484 12.3683 6.13223 12.1814 6.31023L7.91824 10.4391H7.91724L7.91824 10.4396L7.76136 12.9552C7.99118 12.9552 8.0926 12.8421 8.2215 12.7086L9.32614 11.5559L11.6238 13.3772C12.0475 13.6276 12.3518 13.4989 12.4572 12.9563L13.9655 5.32801C14.1199 4.66373 13.7292 4.36295 13.325 4.55918Z" fill="currentColor"/> 416</svg></div></a><a href="https://instagram.com/on.the.spot.daily" target="_blank" class="footer_social_link w-inline-block"><div class="u-icon-18px w-embed"><svg xmlns="http://www.w3.org/2000/svg" width="100%" height="100%" viewBox="0 0 18 19" fill="none" preserveAspectRatio="xMidYMid meet" aria-hidden="true" role="img"> 417<path d="M8.99961 11.8996C10.3251 11.8996 11.3996 10.8251 11.3996 9.49961C11.3996 8.17413 10.3251 7.09961 8.99961 7.09961C7.67413 7.09961 6.59961 8.17413 6.59961 9.49961C6.59961 10.8251 7.67413 11.8996 8.99961 11.8996Z" fill="currentColor"/> 418<path d="M11.9992 2.2998H5.9992C3.6838 2.2998 1.7998 4.18441 1.7998 6.50041V12.5004C1.7998 14.8158 3.68441 16.6998 6.00041 16.6998H12.0004C14.3158 16.6998 16.1998 14.8152 16.1998 12.4992V6.4992C16.1998 4.1838 14.3152 2.2998 11.9992 2.2998ZM8.9998 13.0998C7.0144 13.0998 5.3998 11.4852 5.3998 9.4998C5.3998 7.5144 7.0144 5.8998 8.9998 5.8998C10.9852 5.8998 12.5998 7.5144 12.5998 9.4998C12.5998 11.4852 10.9852 13.0998 8.9998 13.0998ZM13.1998 5.8998C12.8686 5.8998 12.5998 5.631 12.5998 5.2998C12.5998 4.9686 12.8686 4.6998 13.1998 4.6998C13.531 4.6998 13.7998 4.9686 13.7998 5.2998C13.7998 5.631 13.531 5.8998 13.1998 5.8998Z" fill="currentColor"/> 419</svg></div></a><a href="https://www.facebook.com/onthespotdev/" target="_blank" class="footer_social_link w-inline-block"><div class="u-icon-18px w-embed"><svg xmlns="http://www.w3.org/2000/svg" width="100%" height="100%" viewBox="0 0 18 19" fill="none" preserveAspectRatio="xMidYMid meet" aria-hidden="true" role="img"> 420<path d="M16.5 9.72747C16.5 5.56002 13.1422 2.18164 9 2.18164C4.85786 2.18164 1.5 5.56002 1.5 9.72747C1.5 13.4937 4.24263 16.6155 7.82812 17.1816V11.9087H5.92383V9.72747H7.82812V8.06503C7.82812 6.17386 8.94787 5.12923 10.6609 5.12923C11.4816 5.12923 12.3398 5.27661 12.3398 5.27661V7.1336H11.3941C10.4625 7.1336 10.1719 7.71531 10.1719 8.31207V9.72747H12.2519L11.9194 11.9087H10.1719V17.1816C13.7574 16.6155 16.5 13.4939 16.5 9.72747Z" fill="currentColor"/> 421</svg></div></a></div></div></div><div class="navbar_blur-bg"></div><div class="navbar"><div class="burger_menu_wrapper"><div class="burger_menu"><div class="burger_menu_up-content"><a href="/" class="navbar_logo_wrapper w-inline-block"><img loading="lazy" src="https://cdn.prod.website-files.com/6739bcfd5737b87720acef3b/6739c1eb0f9259696a1869b0_Group%20461.svg" alt="" class="navbar_logo"/><img loading="lazy" src="https://cdn.prod.website-files.com/6739bcfd5737b87720acef3b/67c940cb38114e78c5047b3d_Group%20461%20(1).svg" alt="" class="navbar_logo black"/></a><img data-w-id="a019897f-480d-b2b7-3b04-2e024a2a3521" loading="lazy" alt="" src="https://cdn.prod.website-files.com/6739bcfd5737b87720acef3b/673f1d209a213f94eaddedc6_burger.svg" class="u-icon-32px u-cursor-pointer cc-burger"/></div><div class="u-spacer-mob-30"></div><div class="burger_menu-link max-height-75svh"><div class="burger_dropdown-wrapper"><div class="burger_hor-wrapper"><div class="burger_link-main">Services</div><div class="burger_dropdown-icon w-embed"><svg xmlns="http://www.w3.org/2000/svg" width="100%" height="100%" viewBox="0 0 13 13" fill="none" preserveAspectRatio="xMidYMid meet" aria-hidden="true" role="img"> 422<path fill-rule="evenodd" clip-rule="evenodd" d="M11.0684 4.14113C11.2637 4.32931 11.2637 4.6344 11.0684 4.82258L6.21484 9.5L1.36129 4.82258C1.16603 4.6344 1.16603 4.32931 1.36129 4.14113C1.55655 3.95296 1.87313 3.95296 2.0684 4.14113L6.21484 8.13711L10.3613 4.14113C10.5566 3.95296 10.8731 3.95296 11.0684 4.14113Z" fill="currentcolor"/> 423<mask id="mask0_5134_1837" style="mask-type:alpha" maskUnits="userSpaceOnUse" x="0" y="0" width="13" height="13"> 424<rect x="12.2148" y="0.5" width="12" height="12" transform="rotate(90 12.2148 0.5)" fill="currentcolor"/> 425</mask> 426<g mask="url(#mask0_5134_1837)"> 427</g> 428</svg></div></div><div class="burger_dropdown-links-list"><div class="u-spacer-mob-1"></div><a href="/offshore-development-center" class="burger_link-small">Offshore Development Center</a><a href="/dedicated-development-team" class="burger_link-small">Dedicated Development Team</a><a href="/tech-recruitment-services" class="burger_link-small">Tech Recruitment Services</a><a href="/custom-software-development" class="burger_link-small">Custom Software Development</a><a href="/cto-as-a-service" class="burger_link-small">Fractional CTO Services</a></div></div><a href="/cybersecurity-software-development" class="burger_link-main-wrapper gap-10-hor w-inline-block"><div class="burger_circle-roze"></div><div class="burger_link-main">Cybersecurity</div></a><a href="/careers" class="burger_link-main-wrapper w-inline-block"><div class="burger_link-main">Careers</div></a><a href="/portfolio" class="burger_link-main-wrapper w-inline-block"><div class="burger_link-main">Portfolio</div></a><div class="burger_dropdown-wrapper"><div class="burger_hor-wrapper"><div class="burger_link-main">Company</div><div class="burger_dropdown-icon w-embed"><svg xmlns="http://www.w3.org/2000/svg" width="100%" height="100%" viewB
428ox="0 0 13 13" fill="none" preserveAspectRatio="xMidYMid meet" aria-hidden="true" role="img"> 429<path fill-rule="evenodd" clip-rule="evenodd" d="M11.0684 4.14113C11.2637 4.32931 11.2637 4.6344 11.0684 4.82258L6.21484 9.5L1.36129 4.82258C1.16603 4.6344 1.16603 4.32931 1.36129 4.14113C1.55655 3.95296 1.87313 3.95296 2.0684 4.14113L6.21484 8.13711L10.3613 4.14113C10.5566 3.95296 10.8731 3.95296 11.0684 4.14113Z" fill="currentcolor"/> 430<mask id="mask0_5134_1837" style="mask-type:alpha" maskUnits="userSpaceOnUse" x="0" y="0" width="13" height="13"> 431<rect x="12.2148" y="0.5" width="12" height="12" transform="rotate(90 12.2148 0.5)" fill="currentcolor"/> 432</mask> 433<g mask="url(#mask0_5134_1837)"> 434</g> 435</svg></div></div><div class="burger_dropdown-links-list"><div class="u-spacer-mob-1"></div><a href="/about-us" aria-current="page" class="burger_link-small w--current">About us</a><a href="/techspot" class="burger_link-small">Techspot Events</a><a href="/blog" class="burger_link-small">Blog</a></div></div><div class="u-spacer-mob-40"></div></div><a href="/contact-us" class="button cc-white cc-burger w-inline-block"><div class="button_circle cc-white cc-red"><div class="button_text cc-16px cc-button-red">Contact us</div></div><div class="button_text cc-16px">Contact us</div></a></div></div><a href="/" class="navbar_logo_wrapper w-inline-block"><img src="https://cdn.prod.website-files.com/6739bcfd5737b87720acef3b/67c8d9734c2e3f77396c0e1b_Group%20461.svg" loading="lazy" alt="" class="navbar_logo black"/><img loading="lazy" src="https://cdn.prod.website-files.com/6739bcfd5737b87720acef3b/6739c1eb0f9259696a1869b0_Group%20461.svg" alt="" class="navbar_logo"/></a><div class="navbar_menu"><div class="navbar_dropdown-link"><div class="p_small">Services</div><div class="nav-dropdown_icon w-embed"><svg xmlns="http://www.w3.org/2000/svg" width="100%" height="100%" viewBox="0 0 13 13" fill="none" preserveAspectRatio="xMidYMid meet" aria-hidden="true" role="img"> 436<path fill-rule="evenodd" clip-rule="evenodd" d="M11.0684 4.14113C11.2637 4.32931 11.2637 4.6344 11.0684 4.82258L6.21484 9.5L1.36129 4.82258C1.16603 4.6344 1.16603 4.32931 1.36129 4.14113C1.55655 3.95296 1.87313 3.95296 2.0684 4.14113L6.21484 8.13711L10.3613 4.14113C10.5566 3.95296 10.8731 3.95296 11.0684 4.14113Z" fill="currentcolor"/> 437<mask id="mask0_5134_1837" style="mask-type:alpha" maskUnits="userSpaceOnUse" x="0" y="0" width="13" height="13"> 438<rect x="12.2148" y="0.5" width="12" height="12" transform="rotate(90 12.2148 0.5)" fill="currentcolor"/> 439</mask> 440<g mask="url(#mask0_5134_1837)"> 441</g> 442</svg></div></div><a href="/cybersecurity-software-development" class="u-horizontal-flex cc-gap-5 cc-center navbar-link w-inline-block"><div class="hero-circle"></div><div class="p_small">Cybersecurity</div></a><a href="/careers" class="u-horizontal-flex cc-gap-5 cc-center navbar-link w-inline-block"><div class="p_small">Careers</div></a><a href="/portfolio" class="navbar-link">Portfolio</a><div class="navbar_dropdown-link"><div class="p_small">Company</div><div class="nav-dropdown_icon w-embed"><svg xmlns="http://www.w3.org/2000/svg" width="100%" height="100%" viewBox="0 0 13 13" fill="none" preserveAspectRatio="xMidYMid meet" aria-hidden="true" role="img"> 443<path fill-rule="evenodd" clip-rule="evenodd" d="M11.0684 4.14113C11.2637 4.32931 11.2637 4.6344 11.0684 4.82258L6.21484 9.5L1.36129 4.82258C1.16603 4.6344 1.16603 4.32931 1.36129 4.14113C1.55655 3.95296 1.87313 3.95296 2.0684 4.14113L6.21484 8.13711L10.3613 4.14113C10.5566 3.95296 10.8731 3.95296 11.0684 4.14113Z" fill="currentcolor"/> 444<mask id="mask0_5134_1837" style="mask-type:alpha" maskUnits="userSpaceOnUse" x="0" y="0" width="13" height="13"> 445<rect x="12.2148" y="0.5" width="12" height="12" transform="rotate(90 12.2148 0.5)" fill="currentcolor"/> 446</mask> 447<g mask="url(#mask0_5134_1837)"> 448</g> 449</svg></div></div></div><div class="navbar_button_desk"><a data-wf--button--variant="base" href="/contact-us" class="button w-inline-block"><div class="button_circle"><div class="button_text cc-16px cc-button-red">Contact us</div></div><div class="button_text cc-16px">Contact us</div></a></div><div class="navbar_line"></div><div data-w-id="a019897f-480d-b2b7-3b04-2e024a2a355b" class="navbar_button-mobile"><div class="u-image-100 w-embed"><svg xmlns="http://www.w3.org/2000/svg" width="100%" height="100%" viewB
449ox="0 0 49 12" fill="none" preserveAspectRatio="xMidYMid meet" aria-hidden="true" role="img"> 450<path d="M0 1C0 0.723858 0.223858 0.5 0.5 0.5H48.5C48.7761 0.5 49 0.723858 49 1C49 1.27614 48.7761 1.5 48.5 1.5H0.5C0.223857 1.5 0 1.27614 0 1Z" fill="currentColor"/> 451<path d="M0 6C0 5.72386 0.223858 5.5 0.5 5.5H48.5C48.7761 5.5 49 5.72386 49 6C49 6.27614 48.7761 6.5 48.5 6.5H0.5C0.223857 6.5 0 6.27614 0 6Z" fill="currentColor"/> 452<path d="M0 11C0 10.7239 0.223858 10.5 0.5 10.5H48.5C48.7761 10.5 49 10.7239 49 11C49 11.2761 48.7761 11.5 48.5 11.5H0.5C0.223857 11.5 0 11.2761 0 11Z" fill="currentColor"/> 453</svg></div></div></div><div class="css w-embed"><style> 454 .navbar_dd-blog-item:first-child { 455 border-top: 0; 456} 457 458 .text-wrap-2-line { 459 display: -webkit-box; 460 -webkit-line-clamp: 2; 461 -webkit-box-orient: vertical; 462 overflow: hidden; 463} 464 465 .nav-dropdown_icon.cc-active-services { 466 transform: rotate(180deg); 467} 468 469 .navbar_dropdown.cc-active { 470 transform: translate(0px, 0%); 471} 472 473 .navbar_line.cc-opacity-0 { 474 opacity: 0; 475} 476 477 .navbar.u-bg-color-gray-3 { 478 background-color: var(--gray-3); 479} 480 481.navbar.u-bg-color-gray-3:where(.w-variant-be674a5d-2a8f-10ae-7c45-90e55f18ab30) { 482 background-color: var(--black) !important; 483} 484 485 .navbar_blur-bg.cc-opacity-100 { 486 opacity: 1; 487} 488 489@media screen and (max-width: 479px) { 490 .burger_dropdown-links-list.cc-active { 491 max-height: 1000px; 492 } 493} 494 495 .burger_dropdown-links-list.cc-active { 496 max-height: 500px; 497 } 498 499 .burger_dropdown-icon.cc-active { 500 transform: rotate(180deg); 501 } 502 503</style> 504 505 506<style> 507@media screen and (max-width: 767px) { 508 .burger_menu-link.max-height-75svh { 509 width: 100% !important; 510 max-width: 100% !important; 511 min-width: 0 !important; 512 box-sizing: border-box !important; 513 514 overflow-y: auto !important; 515 overflow-x: hidden !important; 516 517 -webkit-overflow-scrolling: touch; 518 overscroll-behavior-x: none; 519 overscroll-behavior-y: contain; 520 touch-action: pan-y; 521 522 scrollbar-width: none; 523 -ms-overflow-style: none; 524 } 525 526 .burger_menu-link.max-height-75svh::-webkit-scrollbar {
527 display: none !important; 528 width: 0 !important; 529 height: 0 !important; 530 } 531} 532 533</style> 534 535 536</div><div class="js w-embed w-script">
536<script> 537document.addEventListener('DOMContentLoaded', () => { 538 const links = document.querySelectorAll('.navbar_menu .navbar_dropdown-link'); 539 const dropdowns = document.querySelectorAll('.navbare_simbol .navbar_dropdown'); 540 const navbar = document.querySelector('.navbar'); 541 const navbarLine = navbar ? navbar.querySelector('.navbar_line') : null; 542 const blurBg = document.querySelector('.navbare_simbol .navbar_blur-bg'); 543 544 links.forEach((link, index) => { 545 link.addEventListener('click', (e) => { 546 e.stopPropagation(); 547 548 const targetDropdown = dropdowns[index]; 549 const icon = link.querySelector('.nav-dropdown_icon'); 550 551 const isDropdownActive = targetDropdown && targetDropdown.classList.contains('cc-active'); 552 553 removeActiveClasses(); 554 555 if (!isDropdownActive) { 556 if (targetDropdown) { 557 targetDropdown.classList.add('cc-active'); 558 } 559 if (icon) { 560 icon.classList.add('cc-active-services'); 561 } 562 if (navbarLine) { 563 navbarLine.classList.add('cc-opacity-0'); 564 } 565 if (navbar) { 566 navbar.classList.add('u-bg-color-gray-3'); 567 } 568 if (blurBg) { 569 blurBg.classList.add('cc-opacity-100'); 570 } 571 } 572 }); 573 }); 574 575 document.addEventListener('click', () => { 576 removeActiveClasses(); 577 }); 578 579 dropdowns.forEach(dropdown => { 580 dropdown.addEventListener('click', (e) => { 581 if (e.target.closest('a')) { 582 removeActiveClasses(); 583 } else { 584 e.stopPropagation(); 585 } 586 }); 587 }); 588 589 function removeActiveClasses() { 590 dropdowns.forEach(dropdown => dropdown.classList.remove('cc-active')); 591 links.forEach(link => { 592 const icon = link.querySelector('.nav-dropdown_icon'); 593 if (icon) { 594 icon.classList.remove('cc-active-services'); 595 } 596 }); 597 if (navbarLine) { 598 navbarLine.classList.remove('cc-opacity-0'); 599 } 600 if (navbar) { 601 navbar.classList.remove('u-bg-color-gray-3'); 602 } 603 if (blurBg) { 604 blurBg.classList.remove('cc-opacity-100'); 605 } 606 } 607}); 608 609// ÐÐÐ ÐÐЯ ÐУРÐÐÐ ÐÐÐЮ ÐÐ ÐÐÐÐÐÐÐ 610 611 document.addEventListener('click', (event) => { 612 // ÐÐ°Ñ Ð¾Ð´Ð¸Ð¼ кликнÑÑÑй Ñ ÐµÐ´ÐµÑ Ð¸Ð»Ð¸ его внÑÑÑенноÑÑи 613 const currentHeader = event.target.closest('.burger_hor-wrapper'); 614 if (!currentHeader) return; 615 616 // ÐÐ°Ñ Ð¾Ð´Ð¸Ð¼ ÑодиÑелÑÑкий конÑÐµÐ¹Ð½ÐµÑ ÑекÑÑего вÑпадаÑÑего ÑпиÑка 617 const currentWrapper = currentHeader.closest('.burger_dropdown-wrapper'); 618 if (!currentWrapper) return; 619 620 // ÐÐ°Ñ Ð¾Ð´Ð¸Ð¼ обÑÑÑ Ð¾Ð±ÐµÑÑÐºÑ Ð¼ÐµÐ½Ñ, ÑÑÐ¾Ð±Ñ Ð¸ÑкаÑÑ ÑоÑедей ÑолÑко внÑÑÑи нее 621 const menuLinkContainer = currentWrapper.closest('.burger_menu-link'); 622 if (!menuLinkContainer) return; 623 624 // ÐÐ°Ñ Ð¾Ð´Ð¸Ð¼ вÑе оÑÑалÑнÑе обеÑÑки внÑÑÑи ÑÑого Ð¼ÐµÐ½Ñ 625 const allWrappers = menuLinkContainer.querySelectorAll('.burger_dropdown-wrapper'); 626 627 allWrappers.forEach((wrapper) => { 628 const list = wrapper.querySelector('.burger_dropdown-links-list'); 629 const icon = wrapper.querySelector('.burger_dropdown-icon'); 630 631 if (wrapper === currentWrapper) { 632 // ÐеÑеклÑÑаем клаÑÑ Ñ ÑекÑÑего нажаÑого блока 633 list?.classList.toggle('cc-active'); 634 icon?.classList.toggle('cc-active'); 635 } else { 636 // УдалÑем клаÑÑ Ñ Ð²ÑÐµÑ Ð¾ÑÑалÑнÑÑ ÑоÑÐµÐ´Ð½Ð¸Ñ Ð±Ð»Ð¾ÐºÐ¾Ð² 637 list?.classList.remove('cc-active'); 638 icon?.classList.remove('cc-active'); 639 } 640 }); 641}); 642 643 644 645// ÐÐÐ ÐÐЯ ÐЫТЯÐУТÐÐ ÐТЦÐÐТРÐÐÐÐÐÐÐ ÐÐÐÐÐÐ 646 // ÐÑовеÑка ÑиÑÐ¸Ð½Ñ ÑкÑана 647 if (window.innerWidth > 479) { 648 const buttons = document.querySelectorAll('.button2'); // Ðзменено на :not(.big) 649 650 buttons.forEach(button => { 651 const circle = button.querySelector('.button_circle'); 652 const textA = button.querySelector('.button_text.cc-16px:not(.cc-button-red)'); 653 const textB = button.querySelector('.button_text.cc-16px.cc-button-red'); 654 655 button.addEventListener('mouseenter', () => { 656 gsap.to(circle, { 657 width: '27em', 658 height: '27em', 659 x: '-10em', 660 duration: 0.5 661 }); 662 663 gsap.to(textA, { 664 x: '-0.31em', 665 duration: 0.5 666 }); 667 668 gsap.to(textB, { 669 x: '10em', 670 duration: 0.5 671 }); 672 }); 673 674 button.addEventListener('mouseleave', () => { 675 gsap.to(circle, { 676 width: '0.31em', 677 height: '0.31em', 678 x: '0', 679 duration: 0.5 680 }); 681 682 gsap.to(textA, { 683 x: '0', 684 duration: 0.5 685 686 }); 687 688 gsap.to(textB, { 689 x: '0', 690 duration: 0.5 691 }); 692 }); 693 }); 694 } 695</script>
695</div></div><div class="main"><div id="gg" class="section hero cc-about-us about-new"><div class="hero_titile_wrapper cc-about"><h1 class="h1 u-text-weight-600 cc-au">Hey! Itâs <span class="_4vw no-wrap">on the spot</span></h1><div class="hero_border cc-about-s"><div class="h1 u-text-weight-600 hero-left">[</div><div class="h1 u-text-weight-600 hero-right">]</div></div><div class="hero_portal cc-about-us"></div><img src="https://cdn.prod.website-files.com/6739bcfd5737b87720acef3b/6892891dd88cd7f37c4c3dd5_Rectangle%2016.png" loading="lazy" sizes="(max-width: 568px) 100vw, 568px" srcset="https://cdn.prod.website-files.com/6739bcfd5737b87720acef3b/6892891dd88cd7f37c4c3dd5_Rectangle%2016-p-500.png 500w, https://cdn.prod.website-files.com/6739bcfd5737b87720acef3b/6892891dd88cd7f37c4c3dd5_Rectangle%2016.png 568w" alt="Team from On The Spot Development" class="about-new_image cc-is-2"/><img src="https://cdn.prod.website-files.com/6739bcfd5737b87720acef3b/6890ae08149ae9bbfc9a7a8d_Rectangle%2017-1.png" loading="lazy" sizes="(max-width: 721px) 100vw, 721px" srcset="https://cdn.prod.website-files.com/6739bcfd5737b87720acef3b/6890ae08149ae9bbfc9a7a8d_Rectangle%2017-1-p-500.png 500w, https://cdn.prod.website-files.com/6739bcfd5737b87720acef3b/6890ae08149ae9bbfc9a7a8d_Rectangle%2017-1.png 721w" alt="Team from On The Spot Development" class="about-new_image cc-is-3"/><img src="https://cdn.prod.website-files.com/6739bcfd5737b87720acef3b/6890ae08e0ba3aeab3dfe0dc_Rectangle%2014-1.png" loading="lazy" sizes="(max-width: 501px) 100v
695w, 501px" srcset="https://cdn.prod.website-files.com/6739bcfd5737b87720acef3b/6890ae08e0ba3aeab3dfe0dc_Rectangle%2014-1-p-500.png 500w, https://cdn.prod.website-files.com/6739bcfd5737b87720acef3b/6890ae08e0ba3aeab3dfe0dc_Rectangle%2014-1.png 501w" alt="Team from On The Spot Development" class="about-new_image cc-is-4"/><img src="https://cdn.prod.website-files.com/6739bcfd5737b87720acef3b/689289ffb915d5e7e12bf212_Rectangle%204321%20(1).png" loading="lazy" alt="Team from On The Spot Development" class="about-new_image cc-is-7"/><img src="https://cdn.prod.website-files.com/6739bcfd5737b87720acef3b/6892891d13d6ef55cc7c7e54_Rectangle%204318.png" loading="lazy" sizes="(max-width: 566px) 100vw, 566px" srcset="https://cdn.prod.website-files.com/6739bcfd5737b87720acef3b/6892891d13d6ef55cc7c7e54_Rectangle%204318-p-500.png 500w, https://cdn.prod.website-files.com/6739bcfd5737b87720acef3b/6892891d13d6ef55cc7c7e54_Rectangle%204318.png 566w" alt="Team from On The Spot Development" class="about-new_image cc-is-6"/><img src="https://cdn.prod.website-files.com/6739bcfd5737b87720acef3b/6892891d695e095acbf65976_Rectangle%204320.png" loading="lazy" sizes="(max-width: 594px) 100vw, 594px" srcset="https://cdn.prod.website-files.com/6739bcfd5737b87720acef3b/6892891d695e095acbf65976_Rectangle%204320-p-500.png 500w, https://cdn.prod.website-files.com/6739bcfd5737b87720acef3b/6892891d695e095acbf65976_Rectangle%204320.png 594w" alt="Team from On The Spot Development" class="about-new_image cc-is-8"/><img src="https://cdn.prod.website-files.com/6739bcfd5737b87720acef3b/6892891d2c0655ca0aab6015_Rectangle%204319.png" loading="lazy" alt="Team from On The Spot Development" class="about-new_image cc-is-5"/><img src="https://cdn.prod.website-files.com/6739bcfd5737b87720acef3b/6890ae0765ef91985c67fe4c_Rectangle%2018-1.png" loading="lazy" alt="Teammates shaking hands at On The Spot Development" class="about-new_image"/></div></div><div id="sge" class="section cc-au-text _60"><div class="section_text_wrapper cc-550"><div gsap="opacity" class="u-roboto-mono u-text-color-gray-1">[01]</div><div class="u-spacer-15 u-spacer-mob-15"></div><h2 gsap="opacity" class="p_small u-text-color-gray-1">who we are</h2></div><div class="u-spacer-40 u-spacer-mob-15"></div><h2 anima="" class="h2 u-text-weight-600 u-text-color-gray-2"><span class="au-first_word">It</span> all began with frustration. After years in software development, we kept seeing one problem. Companies wanted to build and grow their products with the help of outsourcing, but they often ended up disappointed.</h2><div class="u-spacer-40 u-spacer-mob-30"></div><div class="who_layout"><div gsap="opacity" class="who_image"><img src="https://cdn.prod.website-files.com/6739bcfd5737b87720acef3b/6837170e30c9a93df6e58de9_Photo-02.png" loading="lazy" sizes="(max-width: 1000px) 100vw, 1000px" srcset="https://cdn.prod.website-files.com/6739bcfd5737b87720acef3b/6837170e30c9a93df6e58de9_Photo-02-p-500.png 500w, https://cdn.prod.website-files.com/6739bcfd5737b87720acef3b/6837170e30c9a93df6e58de9_Photo-02-p-800.png 800w, https://cdn.prod.website-files.com/6739bcfd5737b87720acef3b/6837170e30c9a93df6e58de9_Photo-02.png 1000w" alt="Working team at On The Spot Development" class="u-image-100 cc-cover"/></div><div class="who_text-content"><p gsap="opacity" class="p-30px cc-mob-23px">We were tired of seeing junior developers instead of the promised senior ones, confusing pricing models, teams constantly being shuffled around, rushed timelines, poor coding, unclear communication, and the list didnât end there.</p><div class="u-spacer-30"></div><div class="who_text-content_botton"><p gsap="opacity" class="p">It was painful to see software development turn into a stressful experience. So, we decided to create a company where these problems simply wouldn't exist. Thatâs how On The Spot was born. And it feels like weâve made a real difference.</p><p gsap="opacity" class="p">We build long-lasting relationships with our customers, connecting them with top local talent who become part of their teams. Our pricing is clear and straightforward, with no hidden costs. This approach is the absolute opposite of what weâve seen in the industry.</p></div></div></div><div class="u-spacer-80 u-spacer-mob-60"></div><div class="who_layout cc-countres"><div><h2 gsap="opacity" class="h4 u-text-weight-600 cc-mob-57px">2016</h2><div class="who_numbers_card"><p gsap="opacity" class="p cc-mob-19px">Founded</p></div></div><div class="who_numbers_card_wrapper"><div class="who_numbers_card"><h2 gsap="opacity" class="h4 u-text-weight-600 cc-mob-57px">
6952 offices</h2><p gsap="opacity" class="p cc-mob-19px">UK, Poland</p></div><div class="u-horizontal-flex"><div class="who_numbers_card cc-right"><h2 gsap="opacity" class="h4 u-text-weight-600 cc-mob-57px">200</h2><p gsap="opacity" class="p cc-mob-19px">Employees</p></div><img src="https://cdn.prod.website-files.com/6739bcfd5737b87720acef3b/673f3a13cbbc59db4709d4a5_Link%20(1).svg" loading="lazy" gsap="opacity" alt="icon plus" class="u-icon-24px"/></div></div></div></div><div gsap="line" class="section_line"></div><div id="what-we-do" class="section"><div class="section_code"><div class="w-embed"><style> 696 @media (min-width: 480px) { 697 .services_card:hover .p_small.u-text-color-gray-1 { 698 color: var(--gray-3); 699 } 700 } 701 702</style></div></div><div class="section_text_wrapper cc-au_services"><div gsap="opacity" class="u-roboto-mono u-text-color-gray-1">[02]</div><div class="u-spacer-15 u-spacer-mob-15"></div><div gsap="opacity" class="p_small u-text-color-gray-1">our services</div><div class="u-spacer-30 u-spacer-mob-20"></div><h2 gsap="opacity" class="h4 u-text-weight-600">What we do</h2><div class="u-spacer-30 u-spacer-mob-20"></div><div class="cc-max-430"><p class="p">On The Spot Development helps startups and tech companies build and grow their products. To support customers at every scale, we offer the following services:</p></div></div><div class="u-spacer-80 u-spacer-mob-40"></div><div gsap="opacity" class="services_grid"><a data-w-id="6fa41989-4043-64b7-badf-47c1999aad41" href="/offshore-development-center" class="services_card w-inline-block"><div data-w-id="ad3cc2e5-4433-4209-a164-bfa711ce4125" class="services_card_hover-bg"></div><div class="u-icon-32px u-margin-left-auto u-relative-z-2 w-embed"><svg xmlns="http://www.w3.org/2000/svg" width="100%" height="100%" viewBox="0 0 32 33" fill="none" preserveAspectRatio="xMidYMid meet" aria-hidden="true" role="img"> 703<path fill-rule="evenodd" clip-rule="evenodd" d="M0.461984 32.038C-0.153836 31.4222 -0.153836 30.4238 0.461984 29.8079L26.6161 3.65382L0.461864 3.65382L0.461864 0.500004L32 0.500002L32 32.0381L28.8462 32.0381L28.8462 5.8839L2.69207 32.038C2.07625 32.6538 1.0778 32.6538 0.461984 32.038Z" fill="currentColor"/> 704</svg></div><div class="u-spacer-80 u-spacer-mob-120"></div><div class="services_card_text-content"><h3 class="p_large">Offshore Development Center</h3><div class="u-spacer-15 u-spacer-mob-20"></div><p class="p_small u-text-color-gray-1">We build your dedicated R&D team on a long-term basis, deliver results quickly and cost-effectively, and ensure full transparency on all costs.</p></div></a><a data-w-id="a1a45218-2b76-9cc9-6d8d-456c68a28105" href="/dedicated-development-team" class="services_card w-inline-block"><div data-w-id="a1a45218-2b76-9cc9-6d8d-456c68a28106" class="services_card_hover-bg"></div><div class="u-icon-32px u-margin-left-auto u-relative-z-2 w-embed"><svg xmlns="http://www.w3.org/2000/svg" width="100%" height="100%" viewBox="0 0 32 33" fill="none" preserveAspectRatio="xMidYMid meet" aria-hidden="true" role="img"> 705<path fill-rule="evenodd" clip-rule="evenodd" d="M0.461984 32.038C-0.153836 31.4222 -0.153836 30.4238 0.461984 29.8079L26.6161 3.65382L0.461864 3.65382L0.461864 0.500004L32 0.500002L32 32.0381L28.8462 32.0381L28.8462 5.8839L2.69207 32.038C2.07625 32.6538 1.0778 32.6538 0.461984 32.038Z" fill="currentColor"/> 706</svg></div><div class="u-spacer-80 u-spacer-mob-120"></div><div class="services_card_text-content"><h3 class="p_large">Dedicated development team</h3><div class="u-spacer-15 u-spacer-mob-20"></div><p class="p_small u-text-color-gray-1">You set the roadmap. We hire your flexible, cost-effective engineering team in Poland to deliver it and handle everything around it.</p></div></a><a data-w-id="f93321dc-d745-9805-97c6-961416630336" href="/tech-recruitment-services" class="services_card w-inline-block"><div data-w-id="f93321dc-d745-9805-97c6-961416630337" class="services_card_hover-bg"></div><div class="u-icon-32px u-margin-left-auto u-relative-z-2 w-embed"><svg xmlns="http://www.w3.org/2000/svg" width="100%" height="100%" viewB
706ox="0 0 32 33" fill="none" preserveAspectRatio="xMidYMid meet" aria-hidden="true" role="img"> 707<path fill-rule="evenodd" clip-rule="evenodd" d="M0.461984 32.038C-0.153836 31.4222 -0.153836 30.4238 0.461984 29.8079L26.6161 3.65382L0.461864 3.65382L0.461864 0.500004L32 0.500002L32 32.0381L28.8462 32.0381L28.8462 5.8839L2.69207 32.038C2.07625 32.6538 1.0778 32.6538 0.461984 32.038Z" fill="currentColor"/> 708</svg></div><div class="u-spacer-80 u-spacer-mob-120"></div><div class="services_card_text-content"><h3 class="p_large">Tech recruitment services</h3><div class="u-spacer-15 u-spacer-mob-20"></div><p class="p_small u-text-color-gray-1">Hire engineers into your own company in Poland, with technical prescreening and a success-based fee.</p></div></a><a data-w-id="2027f076-c86c-7e7b-f5b1-eb03aef75e5a" href="/cto-as-a-service" class="services_card w-inline-block"><div data-w-id="2027f076-c86c-7e7b-f5b1-eb03aef75e5b" class="services_card_hover-bg"></div><div class="u-icon-32px u-margin-left-auto u-relative-z-2 w-embed"><svg xmlns="http://www.w3.org/2000/svg" width="100%" height="100%" viewBox="0 0 32 33" fill="none" preserveAspectRatio="xMidYMid meet" aria-hidden="true" role="img"> 709<path fill-rule="evenodd" clip-rule="evenodd" d="M0.461984 32.038C-0.153836 31.4222 -0.153836 30.4238 0.461984 29.8079L26.6161 3.65382L0.461864 3.65382L0.461864 0.500004L32 0.500002L32 32.0381L28.8462 32.0381L28.8462 5.8839L2.69207 32.038C2.07625 32.6538 1.0778 32.6538 0.461984 32.038Z" fill="currentColor"/> 710</svg></div><div class="u-spacer-80 u-spacer-mob-120"></div><div class="services_card_text-content"><h3 class="p_large">Fractional CTO for startups</h3><div class="u-spacer-15 u-spacer-mob-20"></div><p class="p_small u-text-color-gray-1">We provide an experienced fractional CTO to guide your early-stage startup, advise on technology strategy, and support you from roadmap to PoC, MVP, and beyond.</p></div></a><a data-w-id="1932bfab-87e3-58f4-fa0a-72bb514fb6ee" href="/custom-software-development" class="services_card w-inline-block"><div data-w-id="1932bfab-87e3-58f4-fa0a-72bb514fb6ef" class="services_card_hover-bg"></div><div class="u-icon-32px u-margin-left-auto u-relative-z-2 w-embed"><svg xmlns="http://www.w3.org/2000/svg" width="100%" height="100%" viewBox="0 0 32 33" fill="none" preserveAspectRatio="xMidYMid meet" aria-hidden="true" role="img"> 711<path fill-rule="evenodd" clip-rule="evenodd" d="M0.461984 32.038C-0.153836 31.4222 -0.153836 30.4238 0.461984 29.8079L26.6161 3.65382L0.461864 3.65382L0.461864 0.500004L32 0.500002L32 32.0381L28.8462 32.0381L28.8462 5.8839L2.69207 32.038C2.07625 32.6538 1.0778 32.6538 0.461984 32.038Z" fill="currentColor"/> 712</svg></div><div class="u-spacer-80 u-spacer-mob-120"></div><div class="services_card_text-content"><h3 class="p_large">Custom Software Development</h3><div class="u-spacer-15 u-spacer-mob-20"></div><p class="p_small u-text-color-gray-1">We bring in extra engineering talent and give your software development an instant boost with ad-hoc expert support.</p></div></a></div></div><div id="rd-teams" class="section"><div gsap="circle" class="parners_up-block"><div class="section_text_wrapper cc-1050"><div gsap="opacity" class="u-roboto-mono u-text-color-gray-2">[03]</div><div class="u-spacer-15 u-spacer-mob-15"></div><div gsap="opacity" class="p_small u-text-color-gray-2">our partners</div><div class="u-spacer-30 u-spacer-mob-20"></div><h2 gsap="opacity" class="h4 u-text-weight-600 u-text-color-white">R&D te<span class="u-font-gridular">a</span>ms we host</h2></div></div><div class="u-spacer-10 u-spacer-mob-15"></div><div gsap="opacity" class="partners_down-block"><div class="partner_logo_wrapper"><img loading="lazy" src="https://cdn.prod.website-files.com/6739bcfd5737b87720acef3b/673a9f433d717f1dc18c87e6_Frame%2011.png" alt="" class="u-image-100 cc-cover"/></div><div class="partner_logo_wrapper"><img loading="lazy" src="https://cdn.prod.website-files.com/6739bcfd5737b87720acef3b/673a9f43f690c32b428ef946_Frame%2013.png" alt="" class="u-image-100 cc-cover"/></div><div class="partner_logo_wrapper"><img loading="lazy" src="https://cdn.prod.website-files.com/6739bcfd5737b87720acef3b/673a9f424f77846940bc8fba_Frame%2014.png" alt="" class="u-image-100 cc-cover"/></div><div class="partner_logo_wrapper"><img loading="lazy" src="https://cdn.prod.website-files.com/6739bcfd5737b87720acef3b/673a9f438e12ecfbebfdf814_Frame%2015.png" alt="" class="u-image-100 cc-cover"/></div><div class="partner_logo_wrapper"><img loading="lazy" src="https://cdn.prod.website-files.com/6739bcfd5737b87720acef3b/673a9f4382767acb2d3b6354_Frame%2015-1.png" alt="" class="u-image-100 cc-cover"/></div><div class="partner_logo_wrapper"><img loading="lazy" src="https://cdn.prod.website-files.com/6739bcfd5737b87720acef3b/673a9f4353821f6427645db0_Frame%2016.png" alt="" class="u-image-100 cc-cover"/></div><div class="partner_logo_wrapper"><img loading="lazy" src="https://cdn.prod.website-files.com/6739bcfd5737b87720acef3b/673a9f4380806ed8470ac486_Frame%2018.png" alt="" class="u-image-100 cc-cover"/></div><div class="partner_logo_wrapper cc-mob-hidden"><img loading="lazy" src="https://cdn.prod.website-files.com/6739bcfd5737b87720acef3b/673a9f430f6cca562de1daaf_Frame%2015-2.png" alt="" class="u-image-100 cc-cover"/></div><div class="partner_logo_wrapper cc-mob-hidden"><img loading="lazy" src="https://cdn.prod.website-files.com/6739bcfd5737b87720acef3b/673a9f438e64c0d0b81d3e93_Frame%2012.png" alt="" class="u-image-100 cc-cover"/></div><div class="partner_logo_wrapper cc-mob-hidden"><img loading="lazy" src="https://cdn.prod.website-files.com/6739bcfd5737b87720acef3b/673a9f43baa4b68b158c36d2_Frame%2013-1.png" alt="" class="u-image-100 cc-cover"/></div><div class="partner_logo_wrapper cc-mob-hidden"><img loading="lazy" src="https://cdn.prod.website-files.com/6739bcfd5737b87720acef3b/673a9f43dcc68218bacb9309_Frame%2013-2.png" alt="" class="u-image-100 cc-cover"/></div><div class="partner_logo_wrapper cc-mob-hidden"><img loading="lazy" src="https://cdn.prod.website-files.com/6739bcfd5737b87720acef3b/673a9f43a5fe7ade4ccf2eb9_Frame%2013-3.png" alt="" class="u-image-100 cc-cover"/></div><div class="partner_logo_wrapper cc-mob-hidden"><img loading="lazy" src="https://cdn.prod.website-files.com/6739bcfd5737b87720acef3b/673a9f428e64c0d0b81d3e46_Frame%2011-1.png" alt="" class="u-image-100 cc-cover"/></div><div class="partner_logo_wrapper cc-mob-hidden"><img loading="lazy" src="https://cdn.prod.website-files.com/6739bcfd5737b87720acef3b/673a9f42342deb5c46dfcd56_Frame%2013-4.png" alt="" class="u-image-100 cc-cover"/></div><div class="partner_logo_wrapper cc-mob-hidden"></div><div class="partner_logo_wrapper cc-mob-hidden"><img loading="lazy" src="https://cdn.prod.website-files.com/6739bcfd5737b87720acef3b/676c1e5a052719db0180ca2
7126_Frame%2020.svg" alt="" class="u-image-100 cc-cover"/></div><div class="partner_logo_wrapper"><img loading="lazy" src="https://cdn.prod.website-files.com/6739bcfd5737b87720acef3b/676c1e5a4376fcc55af1b74e_Frame%2021.svg" alt="" class="u-image-100 cc-cover"/></div><div class="partner_logo_wrapper"><img loading="lazy" src="https://cdn.prod.website-files.com/6739bcfd5737b87720acef3b/676c1e5a34301c53a12beba6_Frame%2024.svg" alt="" class="u-image-100 cc-cover"/></div><div class="partner_logo_wrapper cc-mob-hidden"><img loading="lazy" src="https://cdn.prod.website-files.com/6739bcfd5737b87720acef3b/676c1e5a4376fcc55af1b751_Frame%2019.svg" alt="" class="u-image-100 cc-cover"/></div><div class="partner_logo_wrapper cc-mob-hidden"><img loading="lazy" src="https://cdn.prod.website-files.com/6739bcfd5737b87720acef3b/698afdf8052967829c3b2bd5_Solvin.ai_180x60.png" alt="" class="u-image-100 cc-cover"/></div></div></div><div id="join-us" class="section"><div class="section_text_wrapper cc-au_services cc-margin-no"><div gsap="opacity" class="u-roboto-mono u-text-color-gray-1">[04]</div><div class="u-spacer-15 u-spacer-mob-15"></div><div gsap="opacity" class="p_small u-text-color-gray-1">growth opportunities</div><div class="u-spacer-30 u-spacer-mob-20"></div><h2 gsap="opacity" class="h4 u-text-weight-600">Join us</h2><div class="u-spacer-30 u-spacer-mob-20"></div><div class="cc-max-430"><p class="p">We create a place where you can develop skills, share knowledge, and connect with a community of like-minded people.</p></div><div class="u-spacer-80 u-spacer-mob-30"></div></div><div class="careers-culture_grid"><div id="w-node-_9b03b877-f532-8c79-4f1a-4049fbcfa5c6-06c28a01" class="careers-culture_card cc-is-1"><div class="h3 cc-40px u-text-weight-600">TechSpot</div><div class="u-spacer-20 u-spacer-mob-20"></div><div class="cc-max-470"><p class="p">Tech events in Poland for everyone interested in software architecture and systems design. Like-minded people, top experts from leading companies, and a big engineering community.</p></div><div class="u-vertical-flex u-margin-up-auto"><a href="/techspot" class="button cc-white-button w-inline-block"><div class="button_circle cc-pink"><div class="button_text cc-16px cc-button-red cc-white">more about TechSpot</div></div><div class="button_text cc-16px">more about TechSpot</div></a></div></div><div id="w-node-_9b03b877-f532-8c79-4f1a-4049fbcfa5d4-06c28a01" class="careers-culture_card cc-is-2"><div class="careers-culture_card_image"><img src="https://cdn.prod.website-files.com/6739bcfd5737b87720acef3b/67c1d8b22148e1606239fe91_Team%20Lead%20Club-modified.png" loading="lazy" sizes="(max-width: 2000px) 100vw, 2000px" srcset="https://cdn.prod.website-files.com/6739bcfd5737b87720acef3b/67c1d8b22148e1606239fe91_Team%20Lead%20Club-modified-p-500.png 500w, https://cdn.prod.website-files.com/6739bcfd5737b87720acef3b/67c1d8b22148e1606239fe91_Team%20Lead%20Club-modified-p-800.png 800w, https://cdn.prod.website-files.com/6739bcfd5737b87720acef3b/67c1d8b22148e1606239fe91_Team%20Lead%20Club-modified-p-1080.png 1080w, https://cdn.prod.website-files.com/6739bcfd5737b87720acef3b/67c1d8b22148e1606239fe91_Team%20Lead%20Club-modified-p-1600.png 1600w, https://cdn.prod.website-files.com/6739bcfd5737b87720acef3b/67c1d8b22148e1606239fe91_Team%20Lead%20Club-modified.png 2000w" alt="Team Lead Club at On The Spot Development" class="u-image-100"/></div><div class="u-spacer-20 u-spacer-mob-20"></div><div class="h3 cc-40px u-text-weight-600">Team Lead Club</div><div class="u-spacer-20 u-spacer-mob-10"></div><div class="cc-max-470"><p class="p">Regular group sessions among R&D team leaders from On The Spot.</p></div><div class="u-vertical-flex u-margin-up-auto"></div></div><div id="w-node-_9b03b877-f532-8c79-4f1a-4049fbcfa5e5-06c28a01" class="careers-culture_card cc-is-3"><div><div class="careers-culture_card_image"><img src="https://cdn.prod.website-files.com/6739bcfd5737b87720acef3b/6890c0178b894497a019147a_Ellipse%201528-1.png" loading="lazy" alt="Company blog at On The Spot Development" class="u-image-100"/></div><div class="u-spacer-20 u-spacer-mob-20"></div><div class="h3 cc-40px u-text-weight-600">Company blog</div><div class="u-spacer-20 u-spacer-mob-10"></div><div class="cc-max-470"><p class="p">Insights on R&D teams, company news, and our perspective on the tech sector.</p></div></div><a href="https://onthespotdev.com/blog?tags=Tech" class="button cc-white-button w-inline-block"><div class="button_circle cc-pink"><div class="button_text cc-16px cc-button-red cc-white">Read articles</div></div><div class="button_text cc-16px">Read articles</div></a></div><div id="w-node-_9b03b877-f532-8c79-4f1a-4049fbcfa5f6-06c28a01" class="careers-culture_grid_bottom cc-about-us"><div class="careers-cultur_bottom-left"><div class="careers-culture_card_image"><img src="https://cdn.prod.website-files.com/6739bcfd5737b87720acef3b/679b3e2afd
71252f56743bbda88_Rectangle%20183.jpg" loading="lazy" sizes="(max-width: 1746px) 100vw, 1746px" srcset="https://cdn.prod.website-files.com/6739bcfd5737b87720acef3b/679b3e2afd52f56743bbda88_Rectangle%20183-p-500.jpg 500w, https://cdn.prod.website-files.com/6739bcfd5737b87720acef3b/679b3e2afd52f56743bbda88_Rectangle%20183-p-800.jpg 800w, https://cdn.prod.website-files.com/6739bcfd5737b87720acef3b/679b3e2afd52f56743bbda88_Rectangle%20183-p-1080.jpg 1080w, https://cdn.prod.website-files.com/6739bcfd5737b87720acef3b/679b3e2afd52f56743bbda88_Rectangle%20183-p-1600.jpg 1600w, https://cdn.prod.website-files.com/6739bcfd5737b87720acef3b/679b3e2afd52f56743bbda88_Rectangle%20183.jpg 1746w" alt="Pixel art style image of two pink robots sitting on chairs facing each other with a small table between them holding a cup, on a black background with faint computer code text." class="u-image-100"/></div><div class="cc-max-400"><div class="h3 cc-40px u-text-weight-600">137 Podcast</div><div class="u-spacer-20 u-spacer-mob-10"></div><p class="p">A lively mix of tech talks and good vibes, or yet another tech podcast. The name "137" comes from a fundamental constant in physics, just like the tech industry challenges we discuss â constant and unavoidable.</p></div></div><div class="techspot_button_layout cc-grid u-margin-left-auto cc-about-us"><a href="https://www.youtube.com/@137-podcast" target="_blank" class="social_button_wrapper cc-about-us w-inline-block"><div class="button big cc-techspot cc-black-border cc-about"><div class="p_small cc-14px cc-allcaps size-10">Watch on</div><img src="https://cdn.prod.website-files.com/6739bcfd5737b87720acef3b/6757f267e41547df24e57add_Logo_of_YouTube_(2015-2017)%201%402x.svg" loading="lazy" alt="youtube logo" class="cc-button-icon-youtube"/></div><div class="button_social_white"><div class="button big cc-techspot cc-white cc-about-us"><div class="p_small cc-14px cc-allcaps size-10">Watch on</div><img src="https://cdn.prod.website-files.com/6739bcfd5737b87720acef3b/676d48a9ed2ae13fa1deaabe_Logo_of_YouTube_(2015-2017)%201.svg" loading="lazy" alt="youtube logo" class="cc-button-icon-youtube"/></div></div></a><a href="https://open.spotify.com/show/1kV5F7BRuBjZQHkidvmKAb?si=owfhg85eSdqWiuOTZ8WFlQ" target="_blank" class="social_button_wrapper cc-about-us w-inline-block"><div class="button big cc-techspot cc-black-border cc-about"><div class="p_small cc-14px cc-allcaps size-10">Listen on</div><img src="https://cdn.prod.website-files.com/6739bcfd5737b87720acef3b/6757f301ba0d2aa8a58fd54d_Frame%20513481.svg" loading="lazy" alt="Spotify logo" class="cc-icon-spotify"/></div><div class="button_social_white"><div class="button big cc-techspot cc-white cc-about-us"><div class="p_small cc-14px cc-allcaps size-10">Listen on</div><img src="https://cdn.prod.website-files.com/6739bcfd5737b87720acef3b/676d48a9a7519563c261fddd_Frame%20513481.svg" loading="lazy" alt="Spotify logo" class="cc-icon-spotify"/></div></div></a><a href="https://podcasts.apple.com/us/podcast/137-podcast/id1797015463" target="_blank" class="social_button_wrapper cc-about-us w-inline-block"><div class="button big cc-techspot cc-black-border cc-about"><img src="https://cdn.prod.website-files.com/6739bcfd5737b87720acef3b/6757f36f38a6d677d59c66f8_Frame%20513400%20(1).svg" loading="lazy" alt="Apple Podcast badge" class="techspot_button-icon_165px"/></div><div class="button_social_white"><div class="button big cc-techspot cc-white cc-about-us"><img src="https://cdn.prod.website-files.com/6739bcfd5737b87720acef3b/676d48a9ed2ae13fa1deaab9_Frame%20513400.svg" loading="lazy" alt="Apple Podcast badge" class="techspot_button-icon_165px"/></div></div></a><a href="#" class="social_button_wrapper u-hide w-inline-block"><div class="button big cc-techspot cc-black-border"><img src="https://cdn.prod.website-files.com/6739bcfd5737b87720acef3b/67b65e1a2c92be5665b6ee67_Frame%20513399.svg" loading="lazy" alt="logo youtube" class="techspot_button-icon_165px"/></div><div class="button_social_white"><div class="button big cc-techspot cc-white"><img src="https://cdn.prod.website-files.com/6739bcfd5737b87720acef3b/67b
712661191825fb0d005a79f5_Frame%20513400.svg" loading="lazy" alt="logo youtube" class="techspot_button-icon_165px"/></div></div></a></div></div><div id="w-node-_3197aa5d-9f9e-b04f-cc6a-a40cc399334f-06c28a01" class="careers-culture_card cc-is-4"><div class="h3 cc-40px u-text-weight-600">Careers</div><div class="u-spacer-20 u-spacer-mob-10"></div><div class="cc-max-270"><p class="p">Job opportunities at fast-growing startups and disruptive tech companies.</p></div><div class="u-vertical-flex u-margin-up-auto"><a data-wf--button--variant="base" href="/careers" class="button w-inline-block"><div class="button_circle"><div class="button_text cc-16px cc-button-red">Open positions</div></div><div class="button_text cc-16px">Open positions</div></a></div></div></div><div class="section_code"><div class="w-embed"><style> 713uc-simple-btn button { 714 width: 0px; 715 height: 0px; 716 padding: 0px; 717 background-color: #000; 718 color: #fff; 719 overflow: hidden; 720} 721 722 .contact_upload_button:hover .u-icon-16px.cc-upl-btn { 723 color: #E81C50; 724 } 725 726 727</style> 728 729<style> 730.social_button_wrapper:hover .button_social_white { 731 width: 15.2em; 732 height: 15.2em; 733} 734 735@media (max-width: 479px) { 736 .social_button_wrapper:hover .button_social_white { 737 width: 12em; /* ÐзмениÑе на нÑжнÑе ÑазмеÑÑ */ 738 height: 12em; /* ÐзмениÑе на нÑжнÑе ÑазмеÑÑ */ 739 } 740} 741</style></div></div></div><div gsap="line" class="section_line"></div><div id="perks-benefits" class="section number"><div class="section_text_wrapper cc-au-portfilio"><div gsap="opacity" class="u-roboto-mono u-text-color-gray-1">[05]</div><div class="u-spacer-15 u-spacer-mob-15"></div><div gsap="opacity" class="p_small u-text-color-gray-1">extras</div><div class="u-spacer-30 u-spacer-mob-20"></div><h2 gsap="opacity" class="h4 u-text-weight-600">Perks & benefits</h2><div class="u-spacer-80 u-spacer-mob-30"></div></div><div class="careers-package_grid"><div class="careers-package_card"><img src="https://cdn.prod.website-files.com/6739bcfd5737b87720acef3b/67acf9f3192f39ea2519ac4f_icons%20medium.svg" loading="lazy" alt="icon building" class="u-icon-56px cc-mob-80px"/>
741<p class="p">Comfortable and cozy office in the heart of Warsaw at Prosta 51</p></div><div class="careers-package_card"><img src="https://cdn.prod.website-files.com/6739bcfd5737b87720acef3b/67acf9f2279f079c122c3fbf_icons%20small.svg" loading="lazy" alt="icon watches" class="u-icon-56px u-icon-80px"/><p class="p">Flexible working hours â we care about you and your output</p></div><div class="careers-package_card"><img src="https://cdn.prod.website-files.com/6739bcfd5737b87720acef3b/67acf9f2dedbebfc6bff5a31_icons%20small-1.svg" loading="lazy" alt="icon calendar" class="u-icon-56px u-icon-80px"/><p class="p">20 business days of vacation, paid sick leave, 5 extra sick days.</p></div><div class="careers-package_card"><img src="https://cdn.prod.website-files.com/6739bcfd5737b87720acef3b/67acf9f2a650134b3b72657d_icons%20medium-1.svg" loading="lazy" alt="icon shapes" class="u-icon-56px u-icon-80px"/><p class="p">Equipment provision</p></div><div class="careers-package_card"><img src="https://cdn.prod.website-files.com/6739bcfd5737b87720acef3b/67acf9f2e3a0b3b4ca9ef42d_icons%20medium-2.svg" loading="lazy" alt="icon money" class="u-icon-56px u-icon-80px"/><p class="p">Education budget</p></div><div class="careers-package_card"><img src="https://cdn.prod.website-files.com/6739bcfd5737b87720acef3b/67acf9f27f56ece6cf2ac650_icons%20small-2.svg" loading="lazy" alt="icon insurance" class="u-icon-56px u-icon-80px"/><p class="p">LUX MED health insurance</p></div><div class="careers-package_card"><img src="https://cdn.prod.website-files.com/6739bcfd5737b87720acef3b/67acf9f25ec4aa018b704c7c_icons%20medium-3.svg" loading="lazy" alt="icon justice" class="u-icon-56px u-icon-80px"/><p class="p">Legal and accounting support in Poland</p></div><div class="careers-package_card"><img src="https://cdn.prod.website-files.com/6739bcfd5737b87720acef3b/67acf9f2925c6a5e230601b3_icons%20small-3.svg" loading="lazy" alt="icon translation" class="u-icon-56px u-icon-80px"/><p class="p">English and Polish language classes</p></div><div class="careers-package_card"><img src="https://cdn.prod.website-files.com/6739bcfd5737b87720acef3b/67acf9f29996f97d4763c509_icons%20medium-4.svg" loading="lazy" alt="icon human heart" class="u-icon-56px u-icon-80px"/><p class="p">Additional compensation benefits</p></div><div class="careers-package_card"><img src="https://cdn.prod.website-files.com/6739bcfd5737b87720acef3b/67acf9f2430fd4299a4042f5_icons%20medium-5.svg" loading="lazy" alt="icon team" class="u-icon-56px u-icon-80px"/><p class="p">Bright and memorable corporate life</p></div></div></div><div id="success-stories" class="section number"><div class="section_text_wrapper cc-au-portfilio"><div gsap="opacity" class="u-roboto-mono u-text-color-gray-1">[06]</div><div class="u-spacer-15 u-spacer-mob-15"></div><div gsap="opacity" class="p_small u-text-color-gray-1">shared achievements</div><div class="u-spacer-30 u-spacer-mob-20"></div><h2 gsap="opacity" class="h4 u-text-weight-600">Customer success stories<br/>weâre proud of</h2><div class="u-spacer-80 u-spacer-mob-30"></div></div><div class="numbers_layout"><div gsap="opacity" class="number_card"><div class="number_text cc-120px u-text-color-purple">4</div><div class="u-margin-left-auto"><div class="p-23px">acquired</div></div></div><div gsap="opacity" id="w-node-_362b0c9a-84b4-411e-617d-57b8157c0f5e-06c28a01" class="number_card is-2"><div class="number_text cc-120px u-text-color-purple">1</div><div class="u-margin-left-auto"><div class="p-23px">merged</div></div></div><div gsap="opacity" id="w-node-_362b0c9a-84b4-411e-617d-57b8157c0f64-06c28a01" class="number_card is-3"><div class="number_text cc-120px u-text-color-purple">3</div><div class="u-margin-left-auto"><div class="p-23px">unicorns</div></div></div></div><div class="u-spacer-60 u-spacer-mob-30"></div><div gsap="opacity" class="button_center_wrapper"><a data-wf--button--variant="base" href="https://clutch.co/profile/spot-development-0" target="_blank" class="button w-inline-block"><div class="button_circle"><div class="button_text cc-16px cc-button-red">Our portfolio</div></div><div class="button_text cc-16px">Our portfolio</div></a></div></div><div gsap="line" class="section_line"></div><div id="team" class="section"><div class="section_text_wrapper cc-max-930"><div gsap="opacity" class="u-roboto-mono u-text-color-gray-1">[07]</div><div class="u-spacer-15 u-spacer-mob-15"></div><div gsap="opacity" class="p_small u-text-color-gray-1">leadership</div><div class="u-spacer-30 u-spacer-mob-20"></div><h2 gsap="opacity" class="h4 u-text-weight-600">Founders and leaders making it all happen</h2></div><div class="u-spacer-60 u-spacer-mob-60"></div><div gsap="opacity" class="numbers_layout cc-au-team"><div class="team_card"><div class="team_card_image"><img src="https://cdn.prod.website-files.com/6739bcfd5737b87720acef3b/689c7b5f9fa59f8a6ee01190_Image.png" loading="lazy" alt="Yegor Tsirkun CEO On The Spot Development" class="u-image-100 cc-cover"/></div><div class="u-spacer-10 u-spacer-mob-10"></div><div class="u-horizontal-flex cc-center"><div><h3 class="p-23px cc-mob-23px">Yegor Tsirkun</h3></div><a href="https://www.linkedin.com/in/yegor-tsirkun-55383417/" target="_blank" class="team_card_link
741w-inline-block"><div class="p_small">LinkedIn</div><div class="u-icon-24px cc-about w-embed"><svg xmlns="http://www.w3.org/2000/svg" width="100%" height="100%" viewBox="0 0 24 24" fill="none" preserveAspectRatio="xMidYMid meet" aria-hidden="true" role="img"> 742<path fill-rule="evenodd" clip-rule="evenodd" d="M4.23099 19.769C3.92308 19.4611 3.92308 18.9619 4.23099 18.654L17.308 5.57691L4.23093 5.57691L4.23093 4L20 4L20 19.7691L18.4231 19.7691L18.4231 6.69195L5.34603 19.769C5.03812 20.0769 4.5389 20.0769 4.23099 19.769Z" fill="currentColor"/> 743</svg></div></a></div><div class="u-spacer-5 u-spacer-mob-5"></div><div class="p_small u-text-color-gray-1">Co-founder & CEO</div></div><div class="team_card"><div class="team_card_image"><img src="https://cdn.prod.website-files.com/6739bcfd5737b87720acef3b/689c7b5f5736c170a99e8819_Image-1.png" loading="lazy" alt="Anton Co-founder at On The Spot Development" class="u-image-100 cc-cover"/></div><div class="u-spacer-10 u-spacer-mob-10"></div><div class="u-horizontal-flex cc-center"><div><h3 class="p-23px cc-mob-23px">Anton Zhuravsky</h3></div><a href="https://www.linkedin.com/in/anton-zhuravsky-40690124/" target="_blank" class="team_card_link w-inline-block"><div class="p_small">LinkedIn</div><div class="u-icon-24px cc-about w-embed"><svg xmlns="http://www.w3.org/2000/svg" width="100%" height="100%" viewBox="0 0 24 24" fill="none" preserveAspectRatio="xMidYMid meet" aria-hidden="true" role="img"> 744<path fill-rule="evenodd" clip-rule="evenodd" d="M4.23099 19.769C3.92308 19.4611 3.92308 18.9619 4.23099 18.654L17.308 5.57691L4.23093 5.57691L4.23093 4L20 4L20 19.7691L18.4231 19.7691L18.4231 6.69195L5.34603 19.769C5.03812 20.0769 4.5389 20.0769 4.23099 19.769Z" fill="currentColor"/> 745</svg></div></a></div><div class="u-spacer-5"></div><div class="p_small u-text-color-gray-1">Co-founder & Technical Advisor</div></div><div class="team_card"><div class="team_card_image"><img src="https://cdn.prod.website-files.com/6739bcfd5737b87720acef3b/674332414dafa20e3895e0b7_Frame%20512544-1.png" loading="lazy" sizes="(max-width: 920px) 100vw, 920px" srcset="https://cdn.prod.website-files.com/6739bcfd5737b87720acef3b/674332414dafa20e3895e0b7_Frame%20512544-1-p-500.png 500w, https://cdn.prod.website-files.com/6739bcfd5737b87720acef3b/674332414dafa20e3895e0b7_Frame%20512544-1-p-800.png 800w, https://cdn.prod.website-files.com/6739bcfd5737b87720acef3b/674332414dafa20e3895e0b7_Frame%20512544-1.png 920w" alt="Loir Shiff Co-founder at On The Spot Development" class="u-image-100 cc-cover"/></div><div class="u-spacer-10 u-spacer-mob-10"></div><div class="u-horizontal-flex cc-center"><div><h3 class="p-23px cc-mob-23px">Lior Shiff</h3></div><a href="https://www.linkedin.com/in/shiff/" target="_blank" class="team_card_link w-inline-block"><div class="p_small">LinkedIn</div><div class="u-icon-24px cc-about w-embed"><svg xmlns="http://www.w3.org/2000/svg" width="100%" height="100%" viewBox="0 0 24 24" fill="none" preserveAspectRatio="xMidYMid meet" aria-hidden="true" role="img"> 746<path fill-rule="evenodd" clip-rule="evenodd" d="M4.23099 19.769C3.92308 19.4611 3.92308 18.9619 4.23099 18.654L17.308 5.57691L4.23093 5.57691L4.23093 4L20 4L20 19.7691L18.4231 19.7691L18.4231 6.69195L5.34603 19.769C5.03812 20.0769 4.5389 20.0769 4.23099 19.769Z" fill="currentColor"/> 747</svg></div></a></div><div class="u-spacer-5"></div><div class="p_small u-text-color-gray-1">Co-founder & Chairman</div></div><div class="team_card"><div class="team_card_image"><img src="https://cdn.prod.website-files.com/6739bcfd5737b87720acef3b/689c7b5f81472a0e8cfca09d_Image-2.png" loading="lazy" alt="Anton Vasiljev CTO at On The Spot Development" class="u-image-100 cc-cover"/></div><div class="u-spacer-10 u-spacer-mob-10"></div><div class="u-horizontal-flex cc-center"><div><h3 class="p-23px cc-mob-23px">Anton Vasiljev</h3></div><a href="https://www.linkedin.com/in/antono/" target="_blank" class="team_card_link w-inline-block"><div class="p_small">LinkedIn</div><div class="u-icon-24px cc-about w-embed"><svg xmlns="http://www.w3.org/2000/svg" width="100%" height="100%" viewB
747ox="0 0 24 24" fill="none" preserveAspectRatio="xMidYMid meet" aria-hidden="true" role="img"> 748<path fill-rule="evenodd" clip-rule="evenodd" d="M4.23099 19.769C3.92308 19.4611 3.92308 18.9619 4.23099 18.654L17.308 5.57691L4.23093 5.57691L4.23093 4L20 4L20 19.7691L18.4231 19.7691L18.4231 6.69195L5.34603 19.769C5.03812 20.0769 4.5389 20.0769 4.23099 19.769Z" fill="currentColor"/> 749</svg></div></a></div><div class="u-spacer-5"></div><div class="p_small u-text-color-gray-1">Chief Technology Officer</div></div><div class="team_card"><div class="team_card_image"><img src="https://cdn.prod.website-files.com/6739bcfd5737b87720acef3b/689c7b60a2dd65a7071448bf_Image-3.png" loading="lazy" alt="Liza Makarevich Chief Success Manager at On The Spot Development" class="u-image-100 cc-cover"/></div><div class="u-spacer-10 u-spacer-mob-10"></div><div class="u-horizontal-flex cc-center"><div><h3 class="p-23px cc-mob-23px">Liza Makarevich</h3></div><a href="https://www.linkedin.com/in/lizaveta/" target="_blank" class="team_card_link w-inline-block"><div class="p_small">LinkedIn</div><div class="u-icon-24px cc-about w-embed"><svg xmlns="http://www.w3.org/2000/svg" width="100%" height="100%" viewBox="0 0 24 24" fill="none" preserveAspectRatio="xMidYMid meet" aria-hidden="true" role="img"> 750<path fill-rule="evenodd" clip-rule="evenodd" d="M4.23099 19.769C3.92308 19.4611 3.92308 18.9619 4.23099 18.654L17.308 5.57691L4.23093 5.57691L4.23093 4L20 4L20 19.7691L18.4231 19.7691L18.4231 6.69195L5.34603 19.769C5.03812 20.0769 4.5389 20.0769 4.23099 19.769Z" fill="currentColor"/> 751</svg></div></a></div><div class="u-spacer-5"></div><div class="p_small u-text-color-gray-1">Chief Success Manager</div></div><div class="team_card"><div class="team_card_image"><img src="https://cdn.prod.website-files.com/6739bcfd5737b87720acef3b/6890bdc54554dbebc3945bba_Image%20(1).png" loading="lazy" sizes="(max-width: 686px) 100vw, 686px" srcset="https://cdn.prod.website-files.com/6739bcfd5737b87720acef3b/6890bdc54554dbebc3945bba_Image%20(1)-p-500.png 500w, https://cdn.prod.website-files.com/6739bcfd5737b87720acef3b/6890bdc54554dbebc3945bba_Image%20(1).png 686w" alt="Yana Tsiareshchanka Recruitment Lead at On The Spot Development" class="u-image-100 cc-cover"/></div><div class="u-spacer-10 u-spacer-mob-10"></div><div class="u-horizontal-flex cc-center"><div><h3 class="p-23px cc-mob-23px">Yana Tsiareshchanka</h3></div><a href="https://www.linkedin.com/in/yana-tsiareshchanka/" target="_blank" class="team_card_link w-inline-block"><div class="p_small">LinkedIn</div><div class="u-icon-24px cc-about w-embed"><svg xmlns="http://www.w3.org/2000/svg" width="100%" height="100%" viewBox="0 0 24 24" fill="none" preserveAspectRatio="xMidYMid meet" aria-hidden="true" role="img"> 752<path fill-rule="evenodd" clip-rule="evenodd" d="M4.23099 19.769C3.92308 19.4611 3.92308 18.9619 4.23099 18.654L17.308 5.57691L4.23093 5.57691L4.23093 4L20 4L20 19.7691L18.4231 19.7691L18.4231 6.69195L5.34603 19.769C5.03812 20.0769 4.5389 20.0769 4.23099 19.769Z" fill="currentColor"/> 753</svg></div></a></div><div class="u-spacer-5"></div><div class="p_small u-text-color-gray-1">Recruitment Lead</div></div><div class="team_card"><div class="team_card_image"><img src="https://cdn.prod.website-files.com/6739bcfd5737b87720acef3b/6899bdb3971f57b0445508cf_Natallia%20Budai.png" loading="lazy" sizes="(max-width: 686px) 100vw, 686px" srcset="https://cdn.prod.website-files.com/6739bcfd5737b87720acef3b/6899bdb3971f57b0445508cf_Natallia%20Budai-p-500.png 500w, https://cdn.prod.website-files.com/6739bcfd5737b87720acef3b/6899bdb3971f57b0445508cf_Natallia%20Budai.png 686w" alt="Natallia Budai HR Lead at On The Spot Development" class="u-image-100 cc-cover"/></div><div class="u-spacer-10 u-spacer-mob-10"></div><div class="u-horizontal-flex cc-center"><div><h3 class="p-23px cc-mob-23px">Natallia Budai</h3></div><a href="https://www.linkedin.com/in/natallia-budai-333925160/" target="_blank" class="team_card_link w-inline-block"><div class="p_small">LinkedIn</div><div class="u-icon-24px cc-about w-embed"><svg xmlns="http://www.w3.org/2000/svg" width="100%" height="100%" viewB
753ox="0 0 24 24" fill="none" preserveAspectRatio="xMidYMid meet" aria-hidden="true" role="img"> 754<path fill-rule="evenodd" clip-rule="evenodd" d="M4.23099 19.769C3.92308 19.4611 3.92308 18.9619 4.23099 18.654L17.308 5.57691L4.23093 5.57691L4.23093 4L20 4L20 19.7691L18.4231 19.7691L18.4231 6.69195L5.34603 19.769C5.03812 20.0769 4.5389 20.0769 4.23099 19.769Z" fill="currentColor"/> 755</svg></div></a></div><div class="u-spacer-5"></div><div class="p_small u-text-color-gray-1">HR Lead</div></div><div class="team_card"><div class="team_card_image"><img src="https://cdn.prod.website-files.com/6739bcfd5737b87720acef3b/68940d6b26ed9b5eb653d7bc_Image-1.jpg" loading="lazy" sizes="(max-width: 686px) 100vw, 686px" srcset="https://cdn.prod.website-files.com/6739bcfd5737b87720acef3b/68940d6b26ed9b5eb653d7bc_Image-1-p-500.jpg 500w, https://cdn.prod.website-files.com/6739bcfd5737b87720acef3b/68940d6b26ed9b5eb653d7bc_Image-1.jpg 686w" alt="Katya Shkor Pr Lead at On The Spot Development" class="u-image-100 cc-cover"/></div><div class="u-spacer-10 u-spacer-mob-10"></div><div class="u-horizontal-flex cc-center"><div><h3 class="p-23px cc-mob-23px">Katya Shkor</h3></div><a href="https://www.linkedin.com/in/katyashkor/" target="_blank" class="team_card_link w-inline-block"><div class="p_small">LinkedIn</div><div class="u-icon-24px cc-about w-embed"><svg xmlns="http://www.w3.org/2000/svg" width="100%" height="100%" viewBox="0 0 24 24" fill="none" preserveAspectRatio="xMidYMid meet" aria-hidden="true" role="img"> 756<path fill-rule="evenodd" clip-rule="evenodd" d="M4.23099 19.769C3.92308 19.4611 3.92308 18.9619 4.23099 18.654L17.308 5.57691L4.23093 5.57691L4.23093 4L20 4L20 19.7691L18.4231 19.7691L18.4231 6.69195L5.34603 19.769C5.03812 20.0769 4.5389 20.0769 4.23099 19.769Z" fill="currentColor"/> 757</svg></div></a></div><div class="u-spacer-5"></div><div class="p_small u-text-color-gray-1">PR & Communications Lead</div></div></div><div data-delay="4000" data-animation="slide" class="team_slider w-slider" data-autoplay="false" data-easing="ease" data-hide-arrows="false" data-disable-swipe="false" data-autoplay-limit="0" data-nav-spacing="3" data-duration="500" data-infinite="true"><div class="mask-2 w-slider-mask"><div class="team_slider_slide w-slide"><div><div class="team_card"><div class="team_card_image"><img src="https://cdn.prod.website-files.com/6739bcfd5737b87720acef3b/674192e7c2baecd9d385a39d_Image.png" loading="lazy" sizes="(max-width: 920px) 100vw, 920px" srcset="https://cdn.prod.website-files.com/6739bcfd5737b87720acef3b/674192e7c2baecd9d385a39d_Image-p-500.png 500w, https://cdn.prod.website-files.com/6739bcfd5737b87720acef3b/674192e7c2baecd9d385a39d_Image.png 920w" alt="Young man with short dark hair and light beard wearing a gray crew-neck shirt against a plain light background." class="u-image-100 cc-cover"/></div><div class="u-spacer-10 u-spacer-mob-10"></div><div class="u-horizontal-flex cc-center"><div><h3 class="p-23px cc-mob-23px">Yegor Tsirkun</h3></div><a href="#" class="team_card_link w-inline-block"><div class="p_small">LinkedIn</div><div class="u-icon-24px cc-about w-embed"><svg xmlns="http://www.w3.org/2000/svg" width="100%" height="100%" viewBox="0 0 24 24" fill="none" preserveAspectRatio="xMidYMid meet" aria-hidden="true" role="img"> 758<path fill-rule="evenodd" clip-rule="evenodd" d="M4.23099 19.769C3.92308 19.4611 3.92308 18.9619 4.23099 18.654L17.308 5.57691L4.23093 5.57691L4.23093 4L20 4L20 19.7691L18.4231 19.7691L18.4231 6.69195L5.34603 19.769C5.03812 20.0769 4.5389 20.0769 4.23099 19.769Z" fill="currentColor"/> 759</svg></div></a></div><div class="u-spacer-5 u-spacer-mob-5"></div><div class="p_small u-text-color-gray-1">Co-founder & CEO</div></div></div></div><div class="team_slider_slide w-slide"><div class="team_card"><div class="team_card_image"><img src="https://cdn.prod.website-files.com/6739bcfd5737b87720acef3b/674332418e26c18813733ece_Frame%20512544.png" loading="lazy" sizes="(max-width: 920px) 100vw, 920px" srcset="https://cdn.prod.website-files.com/6739bcfd5737b87720acef3b/674332418e26c18813733ece_Frame%20512544-p-500.png 500w, https://cdn.prod.website-files.com/6739bcfd5737b87720acef3b/674332418e26c18813733ece_Frame%20512544.png 920w" alt="Portrait of a young man with short brown hair wearing a plain white crewneck t-shirt, smiling slightly, against a light gray background." class="u-image-100 cc-cover"/></div><div class="u-spacer-10 u-spacer-mob-10"></div><div class="u-horizontal-flex cc-center"><div><h3 class="p-23px cc-mob-23px">Anton Zhuravsky</h3></div>
759<a href="#" class="team_card_link w-inline-block"><div class="p_small">LinkedIn</div><div class="u-icon-24px cc-about w-embed"><svg xmlns="http://www.w3.org/2000/svg" width="100%" height="100%" viewBox="0 0 24 24" fill="none" preserveAspectRatio="xMidYMid meet" aria-hidden="true" role="img"> 760<path fill-rule="evenodd" clip-rule="evenodd" d="M4.23099 19.769C3.92308 19.4611 3.92308 18.9619 4.23099 18.654L17.308 5.57691L4.23093 5.57691L4.23093 4L20 4L20 19.7691L18.4231 19.7691L18.4231 6.69195L5.34603 19.769C5.03812 20.0769 4.5389 20.0769 4.23099 19.769Z" fill="currentColor"/> 761</svg></div></a></div><div class="u-spacer-5"></div><div class="p_small u-text-color-gray-1">Co-founder & Technical Advisor</div></div></div><div class="team_slider_slide w-slide"><div class="team_card"><div class="team_card_image"><img src="https://cdn.prod.website-files.com/6739bcfd5737b87720acef3b/674332414dafa20e3895e0b7_Frame%20512544-1.png" loading="lazy" sizes="(max-width: 920px) 100vw, 920px" srcset="https://cdn.prod.website-files.com/6739bcfd5737b87720acef3b/674332414dafa20e3895e0b7_Frame%20512544-1-p-500.png 500w, https://cdn.prod.website-files.com/6739bcfd5737b87720acef3b/674332414dafa20e3895e0b7_Frame%20512544-1-p-800.png 800w, https://cdn.prod.website-files.com/6739bcfd5737b87720acef3b/674332414dafa20e3895e0b7_Frame%20512544-1.png 920w" alt="Smiling man with short brown hair wearing a blue collared shirt against a light gray background." class="u-image-100 cc-cover"/></div><div class="u-spacer-10 u-spacer-mob-10"></div><div class="u-horizontal-flex cc-center"><div><h3 class="p-23px cc-mob-23px">Lior Shiff</h3></div><a href="#" class="team_card_link w-inline-block"><div class="p_small">LinkedIn</div><div class="u-icon-24px cc-about w-embed"><svg xmlns="http://www.w3.org/2000/svg" width="100%" height="100%" viewBox="0 0 24 24" fill="none" preserveAspectRatio="xMidYMid meet" aria-hidden="true" role="img"> 762<path fill-rule="evenodd" clip-rule="evenodd" d="M4.23099 19.769C3.92308 19.4611 3.92308 18.9619 4.23099 18.654L17.308 5.57691L4.23093 5.57691L4.23093 4L20 4L20 19.7691L18.4231 19.7691L18.4231 6.69195L5.34603 19.769C5.03812 20.0769 4.5389 20.0769 4.23099 19.769Z" fill="currentColor"/> 763</svg></div></a></div><div class="u-spacer-5"></div><div class="p_small u-text-color-gray-1">Co-founder & Chairman</div></div></div><div class="team_slider_slide w-slide"><div class="team_card"><div class="team_card_image"><img src="https://cdn.prod.website-files.com/6739bcfd5737b87720acef3b/674332410dd07578ab4bcda3_Frame%20512544-2.png" loading="lazy" sizes="(max-width: 920px) 100vw, 920px" srcset="https://cdn.prod.website-files.com/6739bcfd5737b87720acef3b/674332410dd07578ab4bcda3_Frame%20512544-2-p-500.png 500w, https://cdn.prod.website-files.com/6739bcfd5737b87720acef3b/674332410dd07578ab4bcda3_Frame%20512544-2.png 920w" alt="Man with short brown hair, glasses, a beard, and an earring, wearing a white shirt, posing against a plain light background." class="u-image-100 cc-cover"/></div><div class="u-spacer-10 u-spacer-mob-10"></div><div class="u-horizontal-flex cc-center"><div><h3 class="p-23px cc-mob-23px">Anton Vasiljev</h3></div><a href="#" class="team_card_link w-inline-block"><div class="p_small">LinkedIn</div><div class="u-icon-24px cc-about w-embed"><svg xmlns="http://www.w3.org/2000/svg" width="100%" height="100%" viewBox="0 0 24 24" fill="none" preserveAspectRatio="xMidYMid meet" aria-hidden="true" role="img"> 764<path fill-rule="evenodd" clip-rule="evenodd" d="M4.23099 19.769C3.92308 19.4611 3.92308 18.9619 4.23099 18.654L17.308 5.57691L4.23093 5.57691L4.23093 4L20 4L20 19.7691L18.4231 19.7691L18.4231 6.69195L5.34603 19.769C5.03812 20.0769 4.5389 20.0769 4.23099 19.769Z" fill="currentColor"/> 765</svg></div></a></div><div class="u-spacer-5"></div><div class="p_small u-text-color-gray-1">Chief Technology Officer</div></div></div><div class="team_slider_slide w-slide"><div class="team_card"><div class="team_card_image"><img src="https://cdn.prod.website-files.com/6739bcfd5737b87720acef3b/67433241ae40f39f050d8d23_Frame%20512544-3.png" loading="lazy" sizes="(max-width: 920px) 100v
765w, 920px" srcset="https://cdn.prod.website-files.com/6739bcfd5737b87720acef3b/67433241ae40f39f050d8d23_Frame%20512544-3-p-500.png 500w, https://cdn.prod.website-files.com/6739bcfd5737b87720acef3b/67433241ae40f39f050d8d23_Frame%20512544-3.png 920w" alt="Portrait of a woman with long light brown hair and blue eyes, wearing a white t-shirt and dangling earrings, against a plain light gray background." class="u-image-100 cc-cover"/></div><div class="u-spacer-10 u-spacer-mob-10"></div><div class="u-horizontal-flex cc-center"><div><h3 class="p-23px cc-mob-23px">Liza Makarevich</h3></div><a href="#" class="team_card_link w-inline-block"><div class="p_small">LinkedIn</div><div class="u-icon-24px cc-about w-embed"><svg xmlns="http://www.w3.org/2000/svg" width="100%" height="100%" viewBox="0 0 24 24" fill="none" preserveAspectRatio="xMidYMid meet" aria-hidden="true" role="img"> 766<path fill-rule="evenodd" clip-rule="evenodd" d="M4.23099 19.769C3.92308 19.4611 3.92308 18.9619 4.23099 18.654L17.308 5.57691L4.23093 5.57691L4.23093 4L20 4L20 19.7691L18.4231 19.7691L18.4231 6.69195L5.34603 19.769C5.03812 20.0769 4.5389 20.0769 4.23099 19.769Z" fill="currentColor"/> 767</svg></div></a></div><div class="u-spacer-5"></div><div class="p_small u-text-color-gray-1">Chief Success Manager</div></div></div><div class="team_slider_slide w-slide"><div class="team_card"><div class="team_card_image"><img src="https://cdn.prod.website-files.com/6739bcfd5737b87720acef3b/6890bdc54554dbebc3945bba_Image%20(1).png" loading="lazy" sizes="(max-width: 686px) 100vw, 686px" srcset="https://cdn.prod.website-files.com/6739bcfd5737b87720acef3b/6890bdc54554dbebc3945bba_Image%20(1)-p-500.png 500w, https://cdn.prod.website-files.com/6739bcfd5737b87720acef3b/6890bdc54554dbebc3945bba_Image%20(1).png 686w" alt="Portrait of a young woman with long brown hair, wearing a white t-shirt with a small black and white graphic, looking at the camera with a slight smile against a plain light gray background." class="u-image-100 cc-cover"/></div><div class="u-spacer-10 u-spacer-mob-10"></div><div class="u-horizontal-flex cc-center"><div><h3 class="p-23px cc-mob-23px">Yana Tsiareshchanka</h3></div><a href="https://www.linkedin.com/in/yana-tsiareshchanka/overlay/about-this-profile/" target="_blank" class="team_card_link w-inline-block"><div class="p_small">LinkedIn</div><div class="u-icon-24px cc-about w-embed"><svg xmlns="http://www.w3.org/2000/svg" width="100%" height="100%" viewBox="0 0 24 24" fill="none" preserveAspectRatio="xMidYMid meet" aria-hidden="true" role="img"> 768<path fill-rule="evenodd" clip-rule="evenodd" d="M4.23099 19.769C3.92308 19.4611 3.92308 18.9619 4.23099 18.654L17.308 5.57691L4.23093 5.57691L4.23093 4L20 4L20 19.7691L18.4231 19.7691L18.4231 6.69195L5.34603 19.769C5.03812 20.0769 4.5389 20.0769 4.23099 19.769Z" fill="currentColor"/> 769</svg></div></a></div><div class="u-spacer-5"></div><div class="p_small u-text-color-gray-1">Recruitment Lead</div></div></div><div class="team_slider_slide w-slide"><div class="team_card"><div class="team_card_image"><img src="https://cdn.prod.website-files.com/6739bcfd5737b87720acef3b/6895948d4b671ce36173c3f0_IMG_4862%201%20(1).png" loading="lazy" sizes="(max-width: 1660px) 100vw, 1660px" srcset="https://cdn.prod.website-files.com/6739bcfd5737b87720acef3b/6895948d4b671ce36173c3f0_IMG_4862%201%20(1)-p-500.png 500w, https://cdn.prod.website-files.com/6739bcfd5737b87720acef3b/6895948d4b671ce36173c3f0_IMG_4862%201%20(1)-p-800.png 800w, https://cdn.prod.website-files.com/6739bcfd5737b87720acef3b/6895948d4b671ce36173c3f0_IMG_4862%201%20(1)-p-1080.png 1080w, https://cdn.prod.website-files.com/6739bcfd5737b87720acef3b/6895948d4b671ce36173c3f0_IMG_4862%201%20(1).png 1660w" alt="Close-up portrait of a woman with long dark hair, brown eyes, and natural makeup wearing a black top and a silver necklace, against a plain light gray background." class="u-image-100 cc-cover"/></div><div class="u-spacer-10 u-spacer-mob-10"></div><div class="u-horizontal-flex cc-center"><div><h3 class="p-23px cc-mob-23px">Natallia Budai</h3></div><a href="https://www.linkedin.com/in/natallia-budai-333925160/overlay/about-this-profile/" target="_blank" class="team_card_link
769w-inline-block"><div class="p_small">LinkedIn</div><div class="u-icon-24px cc-about w-embed"><svg xmlns="http://www.w3.org/2000/svg" width="100%" height="100%" viewBox="0 0 24 24" fill="none" preserveAspectRatio="xMidYMid meet" aria-hidden="true" role="img"> 770<path fill-rule="evenodd" clip-rule="evenodd" d="M4.23099 19.769C3.92308 19.4611 3.92308 18.9619 4.23099 18.654L17.308 5.57691L4.23093 5.57691L4.23093 4L20 4L20 19.7691L18.4231 19.7691L18.4231 6.69195L5.34603 19.769C5.03812 20.0769 4.5389 20.0769 4.23099 19.769Z" fill="currentColor"/> 771</svg></div></a></div><div class="u-spacer-5"></div><div class="p_small u-text-color-gray-1">HR Lead</div></div></div><div class="team_slider_slide w-slide"><div class="team_card"><div class="team_card_image"><img src="https://cdn.prod.website-files.com/6739bcfd5737b87720acef3b/6890bdc55c4aca763fd88f5e_Image-2.png" loading="lazy" sizes="(max-width: 686px) 100vw, 686px" srcset="https://cdn.prod.website-files.com/6739bcfd5737b87720acef3b/6890bdc55c4aca763fd88f5e_Image-2-p-500.png 500w, https://cdn.prod.website-files.com/6739bcfd5737b87720acef3b/6890bdc55c4aca763fd88f5e_Image-2.png 686w" alt="Person with curly brown hair wearing a black sleeveless top and a chain necklace with a circular pendant, smiling softly against a plain light background." class="u-image-100 cc-cover"/></div><div class="u-spacer-10 u-spacer-mob-10"></div><div class="u-horizontal-flex cc-center"><div><h3 class="p-23px cc-mob-23px">Katya Shkor</h3></div><a href="https://www.linkedin.com/in/lizaveta/" target="_blank" class="team_card_link w-inline-block"><div class="p_small">LinkedIn</div><div class="u-icon-24px cc-about w-embed"><svg xmlns="http://www.w3.org/2000/svg" width="100%" height="100%" viewBox="0 0 24 24" fill="none" preserveAspectRatio="xMidYMid meet" aria-hidden="true" role="img"> 772<path fill-rule="evenodd" clip-rule="evenodd" d="M4.23099 19.769C3.92308 19.4611 3.92308 18.9619 4.23099 18.654L17.308 5.57691L4.23093 5.57691L4.23093 4L20 4L20 19.7691L18.4231 19.7691L18.4231 6.69195L5.34603 19.769C5.03812 20.0769 4.5389 20.0769 4.23099 19.769Z" fill="currentColor"/> 773</svg></div></a></div><div class="u-spacer-5"></div><div class="p_small u-text-color-gray-1">PR & Communications Lead</div></div></div></div><div class="u-hide w-slider-arrow-left"><div class="w-icon-slider-left"></div></div><div class="u-hide w-slider-arrow-right"><div class="w-icon-slider-right"></div></div><div class="u-hide w-slider-nav w-round w-num"></div></div></div><div id="learning-culture" data-w-id="66a364c9-35eb-52b1-88a5-e453f0060d8a" class="section cc-culture u-hide"><div class="section_code"><div class="w-embed"><style> 774.portfolio_card.is-1:hover .p.u-text-color-gray-1 { 775 color: var(--black); 776} 777.portfolio_card.is-2:hover .p.u-text-color-gray-1 { 778 color: var(--wihte); 779} 780.portfolio_card:hover .portfolio_line { 781 opacity: 0; 782} 783 784</style></div></div><div class="section_text_wrapper cc-max-930 cc-au-culture"><div gsap="opacity" class="u-roboto-mono u-text-color-gray-1">[06]</div><div class="u-spacer-15 u-spacer-mob-15"></div><div gsap="opacity" class="p_small u-text-color-gray-1">our initiatives</div><div class="u-spacer-30 u-spacer-mob-20"></div><h2 gsap="opacity" class="h4 u-text-weight-600">Our learning culture</h2><div class="u-spacer-30 u-spacer-mob-20"></div><div class="cc-max-450"><p class="p">As a company founded by engineers, we continue to learn and support the growth of engineering skills.</p></div></div><div class="culture_layout"><div class="culture_card"><div class="culture_card-text_content"><h3 gsap="opacity" class="h2 u-text-weight-600">TechSpot</h3><p class="p">Tech events in Poland and online for everyone interested in software architecture and systems design. Like-minded people, top experts from leading companies, and a big engineering community.</p><div class="u-spacer-5"></div><a href="/techspot" class="button cc-green w-inline-block"><div class="button_circle cc-green"><div class="button_text cc-16px cc-button-red cc-green">more about TechSpot</div></div><div class="button_text cc-16px">more about TechSpot</div></a></div><div class="culture_card_image"><img src="https://cdn.prod.website-files.com/6739bcfd5737b87720acef3b/6837182753a09d43454772e2_CDS08820%20(1).jpg" loading="lazy" sizes="100vw" srcset="https://cdn.prod.website-files.com/6739bcfd5737b87720acef3b/6837182753a09d43454772e2_CDS08820%20(1)-p-500.jpg 500w, https://cdn.prod.website-files.com/6739bcfd5737b87720acef3b/6837182753a09d43454772e2_CDS08820%20(1)-p-800.jpg 800w, https://cdn.prod.website-files.com/6739bcfd5737b87720acef3b/6837182753a09d43454772e2_CDS08820%20(1)-p-1080.jpg 1080w, https://cdn.prod.website-files.com/6739bcfd5737b87720acef3b/6837182753a09d43454772e2_CDS08820%20(1)-p-1600.jpg 1600w, https://cdn.prod.website-files.com/6739bcfd5737b87720acef3b/6837182753a09d43454772e2_CDS08820%20(1)-p-2000.jpg 2000w, https://cdn.prod.website-files.com/6739bcfd5737b87720acef3b/6837182753a09d43454772e2_CDS08820%20(1)-p-2600.jpg 2600w, https://cdn.prod.website-files.com/6739bcfd5737b87720acef3b/6837182753a09d43454772e2_CDS08820%20(1)-p-3200.jpg 3200w, https://cdn.prod.website-files.com/6739bcfd5737b87720acef3b/6837182753a09d43454772e2_CDS08820%20(1).jpg 6475w" alt="Large group of people socializing inside a modern room with exposed brick walls and yellow chairs, some wearing backpacks and engaged in conversation."
784class="u-image-100 cc-cover"/></div></div><div class="culture_card cc-purple"><div class="culture_card-text_content"><h3 gsap="opacity" class="h2 u-text-weight-600">137 Podcast</h3><p class="p">A lively mix of tech talk and good vibes. Engaging conversations with founders, CTOs, and tech experts about the latest tech trends, engineering culture, and everything that excites us about the industry.</p><div class="u-spacer-5"></div><a href="https://www.youtube.com/@137-podcast" target="_blank" class="button cc-purple w-inline-block"><div class="button_circle cc-purple"><div class="button_text cc-16px cc-button-red cc-purple">Listen to the episodes </div></div><div class="button_text cc-16px">Listen to the episodes</div></a></div><div class="culture_card_image"><img src="https://cdn.prod.website-files.com/6739bcfd5737b87720acef3b/679b3e2afd52f56743bbda88_Rectangle%20183.jpg" loading="lazy" sizes="(max-width: 1746px) 100vw, 1746px" srcset="https://cdn.prod.website-files.com/6739bcfd5737b87720acef3b/679b3e2afd52f56743bbda88_Rectangle%20183-p-500.jpg 500w, https://cdn.prod.website-files.com/6739bcfd5737b87720acef3b/679b3e2afd52f56743bbda88_Rectangle%20183-p-800.jpg 800w, https://cdn.prod.website-files.com/6739bcfd5737b87720acef3b/679b3e2afd52f56743bbda88_Rectangle%20183-p-1080.jpg 1080w, https://cdn.prod.website-files.com/6739bcfd5737b87720acef3b/679b3e2afd52f56743bbda88_Rectangle%20183-p-1600.jpg 1600w, https://cdn.prod.website-files.com/6739bcfd5737b87720acef3b/679b3e2afd52f56743bbda88_Rectangle%20183.jpg 1746w" alt="Pixel art style image of two pink robots sitting on chairs facing each other with a small table between them holding a cup, on a black background with faint computer code text." class="u-image-100 cc-cover cc-2-au"/></div></div><div class="culture_card cc-pred"><div class="culture_card-text_content"><h3 gsap="opacity" class="h2 u-text-weight-600">Team Lead Club</h3><p class="p">Regular peer-to-peer sessions among team leaders at On The Spot. They share their unique experience, discuss challenges they face, and collaborate on solutions to build stronger R&D teams.</p></div><div class="culture_card_image"><img src="https://cdn.prod.website-files.com/6739bcfd5737b87720acef3b/67c1d670f3f8b28b92b258db_Team%20Lead%20Club.jpg" loading="lazy" sizes="100vw" srcset="https://cdn.prod.website-files.com/6739bcfd5737b87720acef3b/67c1d670f3f8b28b92b258db_Team%20Lead%20Club-p-500.jpg 500w, https://cdn.prod.website-files.com/6739bcfd5737b87720acef3b/67c1d670f3f8b28b92b258db_Team%20Lead%20Club-p-800.jpg 800w, https://cdn.prod.website-files.com/6739bcfd5737b87720acef3b/67c1d670f3f8b28b92b258db_Team%20Lead%20Club-p-1080.jpg 1080w, https://cdn.prod.website-files.com/6739bcfd5737b87720acef3b/67c1d670f3f8b28b92b258db_Team%20Lead%20Club-p-1600.jpg 1600w, https://cdn.prod.website-files.com/6739bcfd5737b87720acef3b/67c1d670f3f8b28b92b258db_Team%20Lead%20Club-p-2000.jpg 2000w, https://cdn.prod.website-files.com/6739bcfd5737b87720acef3b/67c1d670f3f8b28b92b258db_Team%20Lead%20Club-p-2600.jpg 2600w, https://cdn.prod.website-files.com/6739bcfd5737b87720acef3b/67c1d670f3f8b28b92b258db_Team%20Lead%20Club.jpg 3000w" alt="Three people standing indoors engaged in conversation; one person with curly hair in a black shirt and gray pants is smiling and holding a bottle, another in a light pink sweater, and the third person with short brown hair in a white t-shirt facing them." class="u-image-100 cc-cover"/></div></div></div></div><div id="blog" class="section u-hide"><div class="section_text_wrapper cc-max-930"><h2 gsap="opacity" class="h4 u-text-weight-600">Our blog</h2></div><div class="u-spacer-60 u-spacer-mob-60"></div><div class="w-dyn-list"><div role="list" class="blog_list w-dyn-items"><div role="listitem" class="w-dyn-item"><div class="blog_card"><a href="/post/what-is-an-offshore-development-center" class="blog_card_image w-inline-block"><img loading="lazy" src="https://cdn.prod.website-files.com/6756c0ab6791c11bddbf709d/6a6758424802c4ff9bc6d4f5_ODC_cover_01%20(1).png" alt="What is Offshore Development Center" sizes="100vw" srcset="https://cdn.prod.website-files.com/6756c0ab6791c11bddbf709d/6a6758424802c4ff9bc6d4f5_ODC_cover_01%20(1)-p-500.png 500w, https://cdn.prod.website-files.com/6756c0ab6791c11bddbf709d/6a6758424802c4ff9bc6d4f5_ODC_cover_01%20(1)-p-800.png 800w, https://cdn.prod.website-files.com/6756c0ab6791c11bddbf709d/6a6758424802c4ff9bc6d4f5_ODC_cover_01%20(1)-p-1080.png 1080w, https://cdn.prod.website-files.com/6756c0ab6791c11bddbf709d/6a6758424802c4ff9bc6d4f5_ODC_cover_01%20(1)-p-1600.png 1600w, https://cdn.prod.website-files.com/6756c0ab6791c11bddbf709d/6a6758424802c4ff9bc6d4f5_ODC_cover_01%20(1).png 1920w" class="u-image-100 cc-cover"/></a><div class="blog_card_contert"><div><div><div class="w-dyn-list"><div role="list" class="blog_tags_layout w-dyn-items"><div role="listitem" class="w-dyn-item"><a aria-label="Read our blog" href="https://onthespotdev.com/blog?tags=Scaling+tech+teams" class="blog_tag w-inline-block"><div class="p_small cc-14px">Scaling tech teams</div></a></div></div></div></div><div class="u-spacer-20"></div><a aria-label="Read our blog" href="/post/what-is-an-offshore-development-center" class="w-inline-block"><h3 class="p-23px">What is an offshore development center: a complete guide</h3><div class="u-spacer-10"></div><p class="p_small u-text-color-gray-1">An offshore development center in Poland: full ownership, up to 50% lower cost, and buyout right </p></a></div><div class="u-spacer-20"></div><a aria-label="Read our blog" href="/post/what-is-an-offshore-development-center" class="blog_card_bottom_content w-inline-block"><div class="p_small cc-14px u-text-color-gray-1">Anton Vasiljev</div><div class="p_small cc-14px u-text-color-gray-1">7.31.2026</div></a></div></div></div><div role="listitem" class="w-dyn-item"><div class="blog_card"><a href="/post/ai-native-engineering-techspot-meetup" class="blog_card_image w-inline-block"><img loading="lazy" src="https://cdn.prod.website-files.com/6756c0ab6791c11bddbf709d/6a427e7fcf4f75b8a24352e5_Cover.png" alt="" sizes="100vw" srcset="https://cdn.prod.website-files.com/6756c0ab6791c11bddbf709d/6a427e7fcf4f75b8a24352e5_Cover-p-500.png 500w, https://cdn.prod.website-files.com/6756c0ab6791c11bddbf709d/6a427e7fcf4f75b8a24352e5_Cover-p-800.png 800w, https://cdn.prod.website-files.com/6756c0ab6791c11bddbf709d/6a427e7fcf4f75b8a24352e5_Cover-p-1080.png 1080w, https://cdn.prod.website-files.com/6756c0ab6791c11bddbf709d/6a427e7fcf4f75b8a24352e5_Cover-p-1600.png 1600w, https://cdn.prod.website-files.com/6756c0ab6791c11bddbf709d/6a427e7fcf4f75b8a24352e5_Cover.png 1920w" class="u-image-100 cc-cover"/></a><div class="blog_card_contert"><div><div><div class="w-dyn-list"><div role="list" class="blog_tags_layout w-dyn-items"><div role="listitem" class="w-dyn-item"><a aria-label="Read our blog" href="https://onthespotdev.com/blog?tags=Expert+conversations" class="blog_tag w-inline-block"><div class="p_small cc-14px">Expert conversations</div></a></div><div role="listitem" class="w-dyn-item"><a aria-label="Read our blog" href="https://onthespotdev.com/blog?tags=Industry+insights" class="blog_tag w-inline-block"><div class="p_small cc-14px">Industry insights</div></a></div></div></div></div><div class="u-spacer-20"></div><a aria-label="Read our blog" href="/post/ai-native-engineering-techspot-meetup" class="w-inline-block"><h3 class="p-23px">After prompts and context: the next shift in AI-native engineering</h3><div class="u-spacer-10"></div><p class="p_small u-text-color-gray-1">Key takeaways from TechSpot Core discussions</p></a></div><div class="u-spacer-20"></div><a aria-label="Read our blog" href="/post/ai-native-engineering-techspot-meetup" class="blog_card_bottom_content w-inline-block"><div class="p_small cc-14px u-text-color-gray-1">Katya Shkor</div><div class="p_small cc-14px u-text-color-gray-1">6.29.2026</div></a></div></div></div><div role="listitem" class="w-dyn-item"><div class="blog_card"><a href="/post/ai-impact-on-developers-and-hiring" class="blog_card_image w-inline-block"><img loading="lazy" src="https://cdn.prod.website-files.com/6756c0ab6791c11bddbf709d/6a05764b8e4f629ba1dbc38a_AI%20impact%20on%20engineering%20roles%20and%20hiring%20practices.png" alt="" sizes="100vw" srcset="https://cdn.prod.website-files.com/6756c0ab6791c11bddbf709d/6a05764b8e4f629ba1dbc38a_AI%20impact%20on%20engineering%20roles%20and%20hiring%20practices-p-500.png 500w, https://cdn.prod.website-files.com/6756c0ab6791c11bddbf709d/6a05764b8e4f629ba1dbc38a_AI%20impact%20on%20engineering%20roles%20and%20hiring%20practices-p-800.png 800w, https://cdn.prod.website-files.com/6756c0ab6791c11bddbf709d/6a05764b8e4f629ba1dbc38a_AI%20impact%20on%20engineering%20roles%20and%20hiring%20practices-p-1080.png 1080w, https://cdn.prod.website-files.com/6756c0ab6791c11bddbf709d/6a05764b8e4f629ba1dbc38a_AI%20impact%20on%20engineering%20roles%20and%20hiring%20practices-p-1600.png 1600w, https://cdn.prod.website-files.com/6756c0ab6791c11bddbf709d/6a05764b8e4f629ba1dbc38a_AI%20impact%20on%20engineering%20roles%20and%20hiring%20practices.png 1920w" class="u-image-100 cc-cover"/></a><div class="blog_card_contert"><div><div><div class="w-dyn-list"><div role="list" class="blog_tags_layout w-dyn-items"><div role="listitem" class="w-dyn-item"><a aria-label="Read our blog" href="https://onthespotdev.com/blog?tags=Industry+insights" class="blog_tag w-inline-block"><div class="p_small cc-14px">Industry insights</div></a></div><div role="listitem" class="w-dyn-item"><a aria-label="Read our blog" href="https://onthespotdev.com/blog?tags=Scaling+tech+teams" class="blog_tag w-inline-block"><div class="p_small cc-14px">Scaling tech teams</div></a></div></div></div></div><div class="u-spacer-20"></div><a aria-label="Read our blog" href="/post/ai-impact-on-developers-and-hiring" class="w-inline-block"><h3 class="p-23px">AI impact on engineering roles and hiring practices</h3><div class="u-spacer-10"></div><p class="p_small u-text-color-gray-1">Insights from our internal research and conversations with engineering leaders at top tech companies.</p></a></div><div class="u-spacer-20"></div><a aria-label="Read our blog" href="/post/ai-impact-on-developers-and-hiring" class="blog_card_bottom_content w-inline-block"><div class="p_small cc-14px u-text-color-gray-1">Yana Tsiareshchanka</div><div class="p_small cc-14px u-text-color-gray-1">4.28.2026</div></a></div></div></div></div></div><div class="u-spacer-30 u-spacer-mob-30"></div><div class="button_center_wrapper"><a data-wf--button--variant="base" href="/blog" class="button w-inline-block"><div class="button_circle"><div class="button_text cc-16px cc-button-red">view all</div></div><div class="button_text cc-16px">view all</div></a></div></div><section id="cta" class="section balls"><div class="section_text_wrapper cc-balls"><h2 id="baalls" gsap="opacity" class="h4 u-text-weight-600">This is all ab<span class="u-font-gridular">o</span>ut us</h2><div class="u-spacer-30 u-spacer-mob-40"></div><a gsap="opacity" href="/contact-us" class="button big w-inline-block"><div class="button_circle big"><div class="button_text cc-16px cc-button-black">
784Tell us your story</div></div><div class="button_text cc-16px">Tell us your story</div></a></div><div id="matter-container" class="balls_wrapepr"></div><div class="balls_border"></div></section><div data-wf--footer-new--variant="base" class="footer"><div gsap="line" class="footer_line"></div><div gsap="opacity" class="footer_layout is-new"><div id="w-node-_60d02768-8f19-d614-8658-95335e3d1ab4-25fde2e6" class="footer_logo-wrapper"><a href="/" class="footer_logo cc-black cc-2 w-inline-block"><img src="https://cdn.prod.website-files.com/6739bcfd5737b87720acef3b/67c940cb38114e78c5047b3d_Group%20461%20(1).svg" loading="lazy" alt="" class="u-image-100"/></a><a href="/" class="footer_logo cc-white cc-2 w-inline-block"><img src="https://cdn.prod.website-files.com/6739bcfd5737b87720acef3b/6739c1eb0f9259696a1869b0_Group%20461.svg" loading="lazy" alt="" class="u-image-100"/></a><div class="u-spacer-40 u-spacer-mob-30"></div><div id="w-node-_31beeff8-8682-2b78-414b-aee1177629d4-177629d4" class="navbar_dd-social-wrapper"><div class="u-horizontal-flex cc-gap-10"><a href="https://linkedin.com/company/on-the-spot-dev" target="_blank" class="footer_social_link w-inline-block"><div class="u-icon-18px w-embed"><svg xmlns="http://www.w3.org/2000/svg" width="100%" height="100%" viewBox="0 0 18 19" fill="none" preserveAspectRatio="xMidYMid meet" aria-hidden="true" role="img"> 785<path fill-rule="evenodd" clip-rule="evenodd" d="M3.375 2.93164C2.75368 2.93164 2.25 3.43532 2.25 4.05664V15.3066C2.25 15.9279 2.75368 16.4316 3.375 16.4316H14.625C15.2463 16.4316 15.75 15.9279 15.75 15.3066V4.05664C15.75 3.43532 15.2463 2.93164 14.625 2.93164H3.375ZM6.39057 5.93368C6.39479 6.65087 5.85796 7.09278 5.22092 7.08962C4.6208 7.08645 4.09768 6.60868 4.10084 5.93474C4.10401 5.30087 4.60498 4.79145 5.25573 4.80622C5.91596 4.82099 6.39479 5.30509 6.39057 5.93368ZM9.20977 8.00296H7.31978H7.31872V14.4228H9.31627V14.2731C9.31627 13.9881 9.31605 13.7031 9.31582 13.4181C9.31522 12.6577 9.31455 11.8965 9.31845 11.1364C9.3195 10.9518 9.3279 10.7599 9.37537 10.5837C9.55357 9.92562 10.1453 9.50059 10.8055 9.60507C11.2295 9.67144 11.51 9.91722 11.6281 10.317C11.701 10.5669 11.7337 10.8358 11.7368 11.0964C11.7454 11.8821 11.7442 12.6678 11.743 13.4535C11.7425 13.7309 11.7421 14.0084 11.7421 14.2857V14.4218H13.746V14.2678C13.746 13.9288 13.7458 13.5899 13.7456 13.251C13.7452 12.4038 13.7448 11.5567 13.747 10.7093C13.7481 10.3264 13.707 9.94887 13.6131 9.57867C13.4729 9.02809 13.1828 8.57247 12.7114 8.24344C12.377 8.00928 12.01 7.85847 11.5997 7.84159C11.553 7.83965 11.5059 7.83711 11.4586 7.83455C11.2488 7.82321 11.0356 7.81169 10.835 7.85214C10.2613 7.9671 9.7572 8.22972 9.37642 8.69269C9.33217 8.74579 9.2889 8.79972 9.22433 8.88019L9.20977 8.89842V8.00296ZM4.26123 14.4249H6.24932V8.00714H4.26123V14.4249Z" fill="currentColor"/> 786</svg></div></a><a href="https://www.youtube.com/@onthespotdev" target="_blank" class="footer_social_link w-inline-block"><div class="u-icon-18px w-embed"><svg xmlns="http://www.w3.org/2000/svg" width="100%" height="100%" viewBox="0 0 18 19" fill="none" preserveAspectRatio="xMidYMid meet" aria-hidden="true" role="img"> 787<path d="M14.7559 6.82087C14.6876 6.56749 14.5541 6.33642 14.3688 6.15064C14.1834 5.96487 13.9527 5.83089 13.6994 5.76202C12.7605 5.5042 9.00415 5.5 9.00415 5.5C9.00415 5.5 5.24841 5.49581 4.30888 5.74223C4.05581 5.81427 3.82551 5.95015 3.64009 6.13683C3.45467 6.32352 3.32035 6.55473 3.25002 6.80828C3.0024 7.74721 3 9.69464 3 9.69464C3 9.69464 2.9976 11.6517 3.24343 12.581C3.38133 13.0948 3.78605 13.5007 4.30048 13.6392C5.24901 13.8971 8.99516 13.9013 8.99516 13.9013C8.99516 13.9013 12.7515 13.9055 13.6904 13.6596C13.9438 13.5909 14.1747 13.4572 14.3606 13.2718C14.5464 13.0864 14.6806 12.8557 14.7499 12.6026C14.9981 11.6642 14.9999 9.71742 14.9999 9.71742C14.9999 9.71742 15.0119 7.75981 14.7559 6.82087ZM7.8026 11.4988L7.8056 7.90131L10.9276 9.70303L7.8026 11.4988Z" fill="currentColor"/> 788</svg></div></a><a href="https://t.me/onthespotjob" target="_blank" class="footer_social_link w-inline-block"><div class="u-icon-18px w-embed"><svg xmlns="http://www.w3.org/2000/svg" width="100%" height="100%" viewB
788ox="0 0 18 19" fill="none" preserveAspectRatio="xMidYMid meet" aria-hidden="true" role="img"> 789<path d="M13.325 4.55918L4.46694 8.22481C3.86241 8.48538 3.86591 8.84728 4.35603 9.00866L6.63025 9.76999L11.8921 6.20729C12.1409 6.04484 12.3683 6.13223 12.1814 6.31023L7.91824 10.4391H7.91724L7.91824 10.4396L7.76136 12.9552C7.99118 12.9552 8.0926 12.8421 8.2215 12.7086L9.32614 11.5559L11.6238 13.3772C12.0475 13.6276 12.3518 13.4989 12.4572 12.9563L13.9655 5.32801C14.1199 4.66373 13.7292 4.36295 13.325 4.55918Z" fill="currentColor"/> 790</svg></div></a><a href="https://instagram.com/on.the.spot.daily" target="_blank" class="footer_social_link w-inline-block"><div class="u-icon-18px w-embed"><svg xmlns="http://www.w3.org/2000/svg" width="100%" height="100%" viewBox="0 0 18 19" fill="none" preserveAspectRatio="xMidYMid meet" aria-hidden="true" role="img"> 791<path d="M8.99961 11.8996C10.3251 11.8996 11.3996 10.8251 11.3996 9.49961C11.3996 8.17413 10.3251 7.09961 8.99961 7.09961C7.67413 7.09961 6.59961 8.17413 6.59961 9.49961C6.59961 10.8251 7.67413 11.8996 8.99961 11.8996Z" fill="currentColor"/> 792<path d="M11.9992 2.2998H5.9992C3.6838 2.2998 1.7998 4.18441 1.7998 6.50041V12.5004C1.7998 14.8158 3.68441 16.6998 6.00041 16.6998H12.0004C14.3158 16.6998 16.1998 14.8152 16.1998 12.4992V6.4992C16.1998 4.1838 14.3152 2.2998 11.9992 2.2998ZM8.9998 13.0998C7.0144 13.0998 5.3998 11.4852 5.3998 9.4998C5.3998 7.5144 7.0144 5.8998 8.9998 5.8998C10.9852 5.8998 12.5998 7.5144 12.5998 9.4998C12.5998 11.4852 10.9852 13.0998 8.9998 13.0998ZM13.1998 5.8998C12.8686 5.8998 12.5998 5.631 12.5998 5.2998C12.5998 4.9686 12.8686 4.6998 13.1998 4.6998C13.531 4.6998 13.7998 4.9686 13.7998 5.2998C13.7998 5.631 13.531 5.8998 13.1998 5.8998Z" fill="currentColor"/> 793</svg></div></a><a href="https://www.facebook.com/onthespotdev/" target="_blank" class="footer_social_link w-inline-block"><div class="u-icon-18px w-embed"><svg xmlns="http://www.w3.org/2000/svg" width="100%" height="100%" viewBox="0 0 18 19" fill="none" preserveAspectRatio="xMidYMid meet" aria-hidden="true" role="img"> 794<path d="M16.5 9.72747C16.5 5.56002 13.1422 2.18164 9 2.18164C4.85786 2.18164 1.5 5.56002 1.5 9.72747C1.5 13.4937 4.24263 16.6155 7.82812 17.1816V11.9087H5.92383V9.72747H7.82812V8.06503C7.82812 6.17386 8.94787 5.12923 10.6609 5.12923C11.4816 5.12923 12.3398 5.27661 12.3398 5.27661V7.1336H11.3941C10.4625 7.1336 10.1719 7.71531 10.1719 8.31207V9.72747H12.2519L11.9194 11.9087H10.1719V17.1816C13.7574 16.6155 16.5 13.4939 16.5 9.72747Z" fill="currentColor"/> 795</svg></div></a></div></div><div class="u-spacer-40 u-spacer-mob-30"></div><div class="u-vertical-flex cc-gap-15"><div class="u-vertical-flex cc-gap-15"><div class="p_small cc-14px u-text-color-gray-1">Email</div><a href="mailto:[email protected]" class="navbar-link">[email protected]</a></div><div class="u-vertical-flex cc-gap-15"><div class="p_small cc-14px u-text-color-gray-1">Address</div><div class="p_small">12a Montpellier Parade, Harrogate, United Kingdom, HG1 2TJ</div></div></div></div><div class="footer_right-wrapper"><div class="p_small cc-14px u-text-color-gray-1">Company</div><div class="u-horizontal-flex cc-gap-20 mob-grid-3col"><a href="/cybersecurity-software-development" class="u-horizontal-flex cc-gap-5 cc-center navbar-link w-inline-block"><div class="hero-circle"></div><div class="p_small">Cybersecurity</div></a><a href="/careers" class="navbar-link">Careers</a><a id="w-node-d83e3171-1b3d-faf9-2e78-dc2925fde2f2-25fde2e6" href="/portfolio" class="navbar-link">Portfolio</a><a id="w-node-_3880ea61-06b2-d261-a5b8-77cffa04a430-25fde2e6" href="/blog" class="navbar-link">Blog</a><a id="w-node-d83e3171-1b3d-faf9-2e78-dc2925fde2f0-25fde2e6" href="/about-us" aria-current="page" class="navbar-link w--current">About us</a><a id="w-node-d83e3171-1b3d-faf9-2e78-dc2925fde2f4-25fde2e6" href="/techspot" class="navbar-link">TechSpot Events</a></div><div class="footer_dropdowns-wrapper"><div class="burger_dropdown-wrapper"><div class="burger_hor-wrapper"><div class="burger_link-main">Services</div><div class="burger_dropdown-icon w-embed"><svg xmlns="http://www.w3.org/2000/svg" width="100%" height="100%" viewB
795ox="0 0 13 13" fill="none" preserveAspectRatio="xMidYMid meet" aria-hidden="true" role="img"> 796<path fill-rule="evenodd" clip-rule="evenodd" d="M11.0684 4.14113C11.2637 4.32931 11.2637 4.6344 11.0684 4.82258L6.21484 9.5L1.36129 4.82258C1.16603 4.6344 1.16603 4.32931 1.36129 4.14113C1.55655 3.95296 1.87313 3.95296 2.0684 4.14113L6.21484 8.13711L10.3613 4.14113C10.5566 3.95296 10.8731 3.95296 11.0684 4.14113Z" fill="currentcolor"/> 797<mask id="mask0_5134_1837" style="mask-type:alpha" maskUnits="userSpaceOnUse" x="0" y="0" width="13" height="13"> 798<rect x="12.2148" y="0.5" width="12" height="12" transform="rotate(90 12.2148 0.5)" fill="currentcolor"/> 799</mask> 800<g mask="url(#mask0_5134_1837)"> 801</g> 802</svg></div></div><div class="burger_dropdown-links-list is-grid cc-active"><div class="u-spacer-mob-1"></div><div id="w-node-bf242d12-dc00-b7a3-b25e-2c94a7d0c23e-25fde2e6" class="burger_footer-3col"></div><div id="w-node-_27848e8a-3c84-1139-2a4e-4ad507544484-25fde2e6" class="burger_footer-3col height-10"></div><a id="w-node-d8145387-3a4a-319d-319b-e0469a2da5c0-25fde2e6" href="/offshore-development-center" class="burger_link-small">Offshore Development Center</a><a id="w-node-d8145387-3a4a-319d-319b-e0469a2da5c2-25fde2e6" href="/custom-software-development" class="burger_link-small">Custom software development</a><a id="w-node-d8145387-3a4a-319d-319b-e0469a2da5d2-25fde2e6" href="/cto-as-a-service" class="burger_link-small">Fractional CTO services</a><a id="w-node-d8145387-3a4a-319d-319b-e0469a2da5cc-25fde2e6" href="/tech-recruitment-services" class="burger_link-small">Tech recruitment services</a><a id="w-node-d8145387-3a4a-319d-319b-e0469a2da5c6-25fde2e6" href="/dedicated-development-team" class="burger_link-small">Dedicated development team</a></div></div></div></div></div><div class="u-spacer-20"></div><div class="u-spacer-20"></div><div class="footer_policy"><div><div class="u-horizontal-flex cc-gap-20"><a href="/privacy-policy" class="p_small u-text-color-gray-1 u-text-underline">Privacy Policy</a><a href="/terms-of-service" class="p_small u-text-color-gray-1 u-text-underline">Terms of Service</a></div></div><div class="p_small u-text-color-gray-1">© <span class="current-year">2026</span> On The Spot Development. All rights reserved.</div></div><div class="js w-embed w-script">
802<script> 803 document.addEventListener('click', (event) => { 804 const currentHeader = event.target.closest('.burger_hor-wrapper'); 805 if (!currentHeader) return; 806 807 const currentWrapper = currentHeader.closest('.burger_dropdown-wrapper'); 808 if (!currentWrapper) return; 809 810 const footerContainer = currentWrapper.closest('.footer_right-wrapper'); 811 if (!footerContainer) return; 812 813 const allWrappers = footerContainer.querySelectorAll('.burger_dropdown-wrapper'); 814 815 allWrappers.forEach((wrapper) => { 816 const list = wrapper.querySelector('.burger_dropdown-links-list'); 817 const icon = wrapper.querySelector('.burger_dropdown-icon'); 818 819 if (wrapper === currentWrapper) { 820 list?.classList.toggle('cc-active'); 821 icon?.classList.toggle('cc-active'); 822 } else { 823 list?.classList.remove('cc-active'); 824 icon?.classList.remove('cc-active'); 825 } 826 }); 827}); 828 829</script>
829 830
831<script> 832 document.querySelectorAll('.current-year').forEach(el => { 833 el.textContent = new Date().getFullYear(); 834 }); 835</script>
835 836</div></div></div></div>
836<script src="https://d3e54v103j8qbb.cloudfront.net/js/jquery-3.5.1.min.dc5e7f18c8.js?site=6739bcfd5737b87720acef3b" type="text/javascript" integrity="sha256-9/aliU8dGd2tb6OSsuzixeV4y/faTqgFtohetphbbj0=" crossorigin="anonymous"></script>
836<script src="https://cdn.prod.website-files.com/6739bcfd5737b87720acef3b/js/webflow.schunk.b243a97fed2d3524.js" type="text/javascript" integrity="sha384-1qoY9V20fk3dh/6Nz6DOe3XDw3cDv00UAm/Tu2DA7X9iZPUOIX7ggPewjMTqxCpt" crossorigin="anonymous"></script>
836<script src="https://cdn.prod.website-files.com/6739bcfd5737b87720acef3b/js/webflow.schunk.a9067b7bcde82690.js" type="text/javascript" integrity="sha384-Xtr4LsdFK0np4WhRPMMp90tEh5i1TnWZhICvkAT/YxR9ybQ6Vxb6Z+AmQ7/IphIX" crossorigin="anonymous"></script>
836<script src="https://cdn.prod.website-files.com/6739bcfd5737b87720acef3b/js/webflow.schunk.9310cdf0424ce3c2.js" type="text/javascript" integrity="sha384-LhYKOBaYK++92modEjByVfgsdBQO/S7Qg8ljYvHiq74dqT5Mpfdm6M3Nc4zsk7uS" crossorigin="anonymous"></script>
836<script src="https://cdn.prod.website-files.com/6739bcfd5737b87720acef3b/js/webflow.7419005b.861fc65a3e65ff53.js" type="text/javascript" integrity="sha384-+Cokf6NEHni7lluOJaeAETpHno6Ma0rYp3eyf8JZufNq+UOshB9z662AzPqjVJ3A" crossorigin="anonymous"></script>
836<script src="https://cdn.prod.website-files.com/gsap/3.15.0/gsap.min.js" type="text/javascript"></script>
836<script src="https://cdn.prod.website-files.com/gsap/3.15.0/ScrollTrigger.min.js" type="text/javascript"></script>
836<script src="https://cdn.prod.website-files.com/gsap/3.15.0/SplitText.min.js" type="text/javascript"></script>
836<script type="text/javascript">gsap.registerPlugin(ScrollTrigger,SplitText);</script>
836<script src="https://cdn.jsdelivr.net/gh/studio-freight/[email protected]/bundled/lenis.min.js" integrity="sha384-GuiQQtSonx5JfFrW04viv7KCVyTAZZKHCXVtcve0DYt8fUPKLdigmPuBh9XBEUD+" crossorigin="anonymous"></script>
vendor: 1 bytes, line 836
836
837<script src="https://cdn.jsdelivr.net/npm/[email protected]/umd/index.min.js" integrity="sha384-wQImCCD/id1jPTwSloatzKlEpnEAQ5aH8H2Ud27FnNcJ1lf2+hB75ctoWnWxyD8X" crossorigin="anonymous"></script>
vendor: 1 bytes, line 837
837
838<script src="https://cdnjs.cloudflare.com/ajax/libs/gsap/3.11.4/gsap.min.js" integrity="sha384-xjP10QrW7PA6WOlPOkWwDcyKJeREvuwWVAc5aS9/ObhcWcdopa9q3l7NXObVJQ8r" crossorigin="anonymous"></script>
vendor: 1 bytes, line 838
838
839<script src="https://cdnjs.cloudflare.com/ajax/libs/gsap/3.11.4/ScrollTrigger.min.js" integrity="sha384-V0oE5KjuA5fwJoB7Ve6EjvvRB2skf+fPQ1IncPdJ4HurEaHbSKYUoW3Y13UzFcpD" crossorigin="anonymous"></script>
vendor: 1 bytes, line 839
839
840<script src="https://cdnjs.cloudflare.com/ajax/libs/matter-js/0.18.0/matter.min.js" integrity="sha512-5T245ZTH0m0RfONiFm2NF0zcYcmAuNzcGyPSQ18j8Bs5Pbfhp5HP1hosrR8XRt5M3kSRqzjNMYpm2+it/AUX/g==" crossorigin="anonymous" referrerpolicy="no-referrer"></script>
840 841<!-- Google Tag Manager (noscript) -->
vendor: 68 bytes, lines 841-842
841 842<noscript><iframe src="https://www.googletagmanager.com/ns.html?id=
842GTM-5D4P4QGM
vendor: 83 bytes, lines 842-843
842" 843height="0" width="0" style="display:none;visibility:hidden"></iframe></noscript>
844<!-- End Google Tag Manager (noscript) -->
845<script> 846// LENIS SMOOTH SCROLL 847let lenis; 848if (Webflow.env("editor") === undefined) { 849 lenis = new Lenis({ 850 lerp: 0.2, 851 wheelMultiplier: 1.3, 852 gestureOrientation: "vertical", 853 normalizeWheel: false, 854 smoothTouch: false 855 }); 856 function raf(time) { 857 lenis.raf(time); 858 requestAnimationFrame(raf); 859 } 860 requestAnimationFrame(raf); 861} 862$("[data-lenis-start]").on("click", function () { 863 lenis.start(); 864}); 865$("[data-lenis-stop]").on("click", function () { 866 lenis.stop(); 867}); 868$("[data-lenis-toggle]").on("click", function () { 869 $(this).toggleClass("stop-scroll"); 870 if ($(this).hasClass("stop-scroll")) { 871 lenis.stop(); 872 } else { 873 lenis.start(); 874 } 875}); 876</script>
876 877
878<script> 879 880 if (window.innerWidth > 479) { 881 const bigButtons = document.querySelectorAll('.button.big'); 882 883 bigButtons.forEach(button => { 884 const circle = button.querySelector('.button_circle.big'); 885 const textA = button.querySelector('.button_text.cc-16px:not(.cc-button-black)'); 886 const textB = button.querySelector('.button_text.cc-16px.cc-button-black'); 887 888 button.addEventListener('mouseenter', () => { 889 gsap.to(circle, { 890 width: '18em', 891 height: '18em', 892 x: '-3em', 893 duration: 0.5 894 }); 895 896 gsap.to(textA, { 897 x: '-0.7em', 898 duration: 0.5 899 }); 900 901 gsap.to(textB, { 902 x: '2.4em', 903 duration: 0.5 904 }); 905 }); 906 907 button.addEventListener('mouseleave', () => { 908 gsap.to(circle, { 909 width: '0.31em', 910 height: '0.31em', 911 x: '0', 912 duration: 0.5 913 }); 914 915 gsap.to(textA, { 916 x: '0', 917 duration: 0.5 918 }); 919 920 gsap.to(textB, { 921 x: '0', 922 duration: 0.5 923 }); 924 }); 925 }); 926 } 927</script>
927 928
929<script> 930 if (window.innerWidth > 479) { 931 const buttons = document.querySelectorAll('.button:not(.big)'); // Ðзменено на :not(.big) 932 933 buttons.forEach(button => { 934 const circle = button.querySelector('.button_circle'); 935 const textA = button.querySelector('.button_text.cc-16px:not(.cc-button-red)'); 936 const textB = button.querySelector('.button_text.cc-16px.cc-button-red'); 937 938 button.addEventListener('mouseenter', () => { 939 gsap.to(circle, { 940 width: '27em', 941 height: '27em', 942 x: '-2em', 943 duration: 0.5 944 }); 945 946 gsap.to(textA, { 947 x: '-0.31em', 948 duration: 0.5 949 }); 950 951 gsap.to(textB, { 952 x: '1.69em', 953 duration: 0.5 954 }); 955 }); 956 957 button.addEventListener('mouseleave', () => { 958 gsap.to(circle, { 959 width: '0.31em', 960 height: '0.31em', 961 x: '0', 962 duration: 0.5 963 }); 964 965 gsap.to(textA, { 966 x: '0', 967 duration: 0.5 968 969 }); 970 971 gsap.to(textB, { 972 x: '0', 973 duration: 0.5 974 }); 975 }); 976 }); 977 } 978</script>
978 979 980<style> 981.otscc-root { font-size: 1.1111vw; font-family: inherit; color: var(--black, #1c1c1c); -webkit-font-smoothing: antialiased; } 982.otscc-root *, .otscc-root *::before, .otscc-root *::after { box-sizing: border-box; } 983.otscc-root button { font-family: inherit; cursor: pointer; } 984.otscc-cookie-icon { width: 1.6875em; height: 1.5em; flex: 0 0 auto; object-fit: contain; } 985.otscc-banner { position: fixed; z-index: 99990; left: 50%; bottom: 1.25em; transform: translateX(-50%); width: calc(100% - 2em); max-width: 48.375em; background: var(--gray-3, #f4f4f4); border-radius: 0.75em; padding: 0.75em 0.75em 0.75em 0.9375em; display: none; align-items: center; gap: 1.5em; box-shadow: 0 0.5em 2em rgba(0,0,0,.10); } 986.otscc-banner.otscc-visible { display: flex; } 987.otscc-banner__group { display: flex; align-items: center; gap: 0.625em; flex: 1 1 auto; min-width: 0; } 988.otscc-banner__text { flex: 1 1 auto; font-size: 0.75em; line-height: 1.4; margin: 0; } 989.otscc-banner__actions { display: flex; gap: 0.3125em; flex: 0 0 auto; } 990.otscc-btn { position: relative; overflow: hidden; isolation: isolate; display: inline-block; border-radius: 0.625em; padding: 0.625em 1.25em 0.5em 1em; font-size: 1em; line-height: 1.2; font-weight: 600; letter-spacing: .04em; text-transform: uppercase; white-space: nowrap; transition: color .2s ease; } 991.otscc-btn::before { content: ""; position: absolute; top: 50%; left: 50%; width: 15em; height: 15em; margin-top: -7.5em; margin-left: -7.5em; border-radius: 50%; transform: scale(0); transition: transform .35s ease; z-index: -1; pointer-events: none; } 992.otscc-btn--ghost { background: transparent; border: 0.0625em solid var(--black, #1c1c1c); color: var(--black, #1c1c1c); } 993.otscc-btn--ghost::before { background: var(--black, #1c1c1c); } 994.otscc-btn--ghost:hover { color: var(--white, #fff); } 995.otscc-btn--ghost:hover::before { transform: scale(1); } 996.otscc-btn--solid { background: var(--graft, #292929); border: 0.0625em solid var(--graft, #292929); color: var(--white, #fff); } 997.otscc-btn--solid::before { background: var(--white, #fff); } 998.otscc-btn--solid:hover { color: var(--graft, #292929); } 999.otscc-btn--solid:hover::before { transform: scale(1); } 1000.otscc-btn:focus-visible { outline: 0.125em solid var(--pink, #e81c50); outline-offset: 0.125em; } 1001.otscc-overlay { position: fixed; inset: 0; z-index: 99991; background: rgba(0,0,0,.25); display: none; } 1002.otscc-overlay.otscc-visible { display: block; } 1003.otscc-modal { position: fixed; z-index: 99992; left: 50%; bottom: 1.25em; transform: translateX(-50%); width: calc(100% - 2em); max-width: 48.375em; max-height: calc(100vh - 2.5em); overflow-y: auto; background: var(--gray-3, #f4f4f4); border-radius: 0.625em; padding: 0.75em 0.75em 0.75em 0.9375em; display: none; } 1004.otscc-modal.otscc-visible { display: block; } 1005.otscc-modal__head { position: relative; margin-bottom: 0.9375em; } 1006.otscc-modal__title { font-size: 1.6875em; line-height: 1; font-weight: 500; margin: 0; } 1007.otscc-modal__lead { display: flex; gap: 3em; max-width: 62.5em; color: var(--gray-1, #9d9d9d); font-size: 0.875em; line-height: 1.1; margin-bottom: 3.125em; } 1008.otscc-modal__lead p { margin: 0; flex: 1; } 1009.otscc-modal__lead a { color: var(--graft, #292929); text-decoration: underline; } 1010.otscc-close { position: absolute; top: 0; right: 0; width: 1.5em; height: 1.5em; border: 0; background: none; display: flex; align-items: center; justify-content: center; color: var(--gray-1, #9d9d9d); padding: 0; } 1011.otscc-close svg { width: 1.5em; height: 1.5em; } 1012.otscc-close:hover { color: var(--black, #1c1c1c); } 1013.otscc-cat { background: var(--white, #fff); border-radius: 0.3125em; padding: 0.9375em; margin-bottom: 0.3125em; } 1014.otscc-cat__row { display: flex; align-items: center; gap: 1.25em; } 1015.otscc-cat__toggle-head { display: flex; align-items: center; gap: 1.25em; flex: 1 1 auto; background: none; border: 0; padding: 0; text-align: left; color: inherit; } 1016.otscc-cat__plus { position: relative; display: inline-flex; align-items: center; justify-content: center; width: 1em; height: 1em; flex: 0 0 auto; color: var(--black, #1c1c1c); } 1017.otscc-icon-plus, .otscc-icon-cross { position: absolute; inset: 0; display: flex; align-items: center; justify-content: center; transition: opacity .2s ease, transform .2s ease; } 1018.otscc-icon-plus { font-size: 1.125em; line-height: 1; font-weight: 300;
1018 opacity: 1; transform: scale(1); } 1019.otscc-icon-cross { opacity: 0; transform: scale(.5); } 1020.otscc-icon-cross svg { width: 0.75em; height: 0.75em; } 1021.otscc-cat.otscc-open .otscc-icon-plus { opacity: 0; transform: scale(.5); } 1022.otscc-cat.otscc-open .otscc-icon-cross { opacity: 1; transform: scale(1); } 1023.otscc-cat__name { font-size: 1.4375em; line-height: 1.1; font-weight: 500; } 1024.otscc-cat__always { color: var(--purple, #494aa8); font-size: 1em; line-height: 1.2; flex: 0 0 auto; } 1025.otscc-cat__desc-wrap { display: grid; grid-template-rows: 0fr; transition: grid-template-rows .3s ease, margin-top .3s ease; margin-top: 0; } 1026.otscc-cat__desc-wrap > .otscc-cat__desc { overflow: hidden; min-height: 0; margin: 0; color: var(--gray-1, #9d9d9d); font-size: 0.875em; line-height: 1.1; max-width: 30em; } 1027.otscc-cat.otscc-open .otscc-cat__desc-wrap { grid-template-rows: 1fr; margin-top: 0.9375em; } 1028.otscc-switch { position: relative; flex: 0 0 auto; width: 2.625em; height: 1.5em; } 1029.otscc-switch input { position: absolute; opacity: 0; width: 100%; height: 100%; margin: 0; cursor: pointer; } 1030.otscc-switch__ui { position: absolute; inset: 0; border-radius: 6.25em; background: var(--gray-2, #e6e6e6); transition: background .15s ease; pointer-events: none; } 1031.otscc-switch__ui::after { content: ""; position: absolute; top: 0.09375em; left: 0.09375em; width: 1.3125em; height: 1.3125em; border-radius: 50%; background: #fff; transition: transform .15s ease; } 1032.otscc-switch input:checked + .otscc-switch__ui { background: var(--purple, #494aa8); } 1033.otscc-switch input:checked + .otscc-switch__ui::after { transform: translateX(1.125em); } 1034.otscc-switch input:focus-visible + .otscc-switch__ui { outline: 0.125em solid var(--purple, #494aa8); outline-offset: 0.125em; } 1035.otscc-modal__actions { display: flex; justify-content: flex-end; gap: 0.3125em; margin-top: 1.5625em; } 1036@media (max-width: 479px) { 1037.otscc-cookie-icon { width: 7.5vw; height: 6.6667vw; } 1038.otscc-banner { flex-direction: column; align-items: stretch; gap: 4.44vw; padding: 3.3333vw 3.3333vw 3.3333vw 4.1667vw; border-radius: 3.33vw; box-shadow: 0 2.22vw 8.89vw rgba(0,0,0,.10); width: calc(100% - 8.89vw); max-width: none; } 1039.otscc-banner__group { gap: 2.7778vw; } 1040.otscc-banner__text { font-size: 4.72vw; } 1041.otscc-banner__actions { flex-direction: column; gap: 1.39vw; } 1042.otscc-btn { text-align: center; padding: 2.78vw 5.56vw 2.22vw 4.44vw; font-size: 4.44vw; border-radius: 2.78vw; } 1043.otscc-btn--ghost, .otscc-btn--solid { border-width: 0.28vw; } 1044.otscc-btn::before { width: 66.67vw; height: 66.67vw; margin-top: -33.33vw; margin-left: -33.33vw; } 1045.otscc-btn:focus-visible { outline-width: 0.56vw; outline-offset: 0.56vw; } 1046.otscc-modal { padding: 3.33vw 3.33vw 3.33vw 4.17vw; border-radius: 2.78vw; max-height: calc(100vh - 11.11vw); width: calc(100% - 8.89vw); max-width: none; } 1047.otscc-modal__head { margin-bottom: 4.17vw; } 1048.otscc-modal__title { font-size: 7.5vw; } 1049.otscc-modal__lead { flex-direction: column; gap: 3.33vw; font-size: 3.89vw; margin-bottom: 13.89vw; } 1050.otscc-close { width: 6.67vw; height: 6.67vw; } 1051.otscc-close svg { width: 6.67vw; height: 6.67vw; } 1052.otscc-cat { padding: 4.17vw; margin-bottom: 1.39vw; border-radius: 1.39vw; } 1053.otscc-cat__row { gap: 5.56vw; } 1054.otscc-cat__toggle-head { gap: 5.56vw; } 1055.otscc-cat__plus { width: 4.44vw; height: 4.44vw; } 1056.otscc-icon-plus { font-size: 5vw; } 1057.otscc-icon-cross svg { width: 3.33vw; height: 3.33vw; } 1058.otscc-cat__name { font-size: 6.39vw; } 1059.otscc-cat__always { font-size: 4.44vw; } 1060.otscc-cat.otscc-open .otscc-cat__desc-wrap { margin-top: 4.17vw; } 1061.otscc-cat__desc-wrap > .otscc-cat__desc { font-size: 3.89vw; max-width: none; } 1062.otscc-switch { width: 11.67vw; height: 6.67vw; } 1063.otscc-switch__ui { border-radius: 27.78vw; } 1064.otscc-switch__ui::after { width: 5.83vw; height: 5.83vw; top: 0.42vw; left: 0.42vw; } 1065.otscc-switch input:checked + .otscc-switch__ui::after { transform: translateX(5vw); } 1066.otscc-switch input:focus-visible + .otscc-switch__ui { outline-width: 0.56vw; outline-offset: 0.56vw; } 1067.otscc-modal__actions { flex-direction: column; gap: 1.39vw; margin-top: 6.94vw; } 1068} 1069@media (prefers-reduced-motion: reduce) { .otscc-root *, .otscc-root *::before, .otscc-root *::after { transition: none !important; } } 1070</style> 1071 1072<div class="otscc-root"> 1073<div class="otscc-banner" id="otsccBanner" role="dialog" aria-label="Cookie consent" aria-live="polite"> 1074<div class="otscc-banner__group"> 1075<img class="otscc-cookie-icon" src="https://cdn.prod.website-files.com/6739bcfd5737b87720acef3b/6a8856e7f99449534a56213b_cookie.png" alt="cookie-icon"> 1076<p class="otscc-banner__text">We use cookies to run this site, understand how it is used, and measure our marketing.</p> 1077</div> 1078<div class="otscc-banner__actions"> 1079<button type="button" class="otscc-btn otscc-btn--ghost" id="otsccCustomise">Customise</button> 1080<button type="button" class="otscc-btn otscc-btn--ghost" id="otsccBannerNecessary">Necessary only</button> 1081<button type="button" class="otscc-btn otscc-btn--solid" id="otsccBannerAcceptAll">Accept all</button> 1082</div> 1083</div> 1084<div class="otscc-overlay" id="otsccOverlay"></div> 1085<div class="otscc-modal" id="otsccModal" role="dialog" aria-modal="true" aria-labelledby="otsccModalTitle"> 1086<div class="otscc-modal__head"> 1087<h2 class="otscc-modal__title" id="otsccModalTitle">Cookie preferences</h2> 1088<button type="button" class="otscc-close" id="otsccClose" aria-label="Close"> 1089<svg viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg" aria-hidden="true" focusable="false">
1090<path d="M0.10059 0.10059C0.23471 -0.0335297 0.452161 -0.0335297 0.58628 0.10059L23.8994 23.4137C24.0335 23.5478 24.0335 23.7653 23.8994 23.8994C23.7653 24.0335 23.5478 24.0335 23.4137 23.8994L0.10059 0.58628C-0.0335298 0.45216 -0.0335297 0.23471 0.10059 0.10059Z" fill="currentColor"/> 1091<path d="M0.10059 23.8994C-0.0335299 23.7653 -0.0335299 23.5478 0.10059 23.4137L23.4137 0.10059C23.5478 -0.03353 23.7653 -0.0335299 23.8994 0.10059C24.0335 0.234709 24.0335 0.45216 23.8994 0.58628L0.58628 23.8994C0.45216 24.0335 0.234709 24.0335 0.10059 23.8994Z" fill="currentColor"/> 1092</svg> 1093</button> 1094</div> 1095<div class="otscc-modal__lead"> 1096<p>Essential cookies keep the site working and cannot be turned off. Everything else is your choice, and you can change it at any time from the footer.</p> 1097<p>Full list of cookies, with providers and retention periods, is in our <a href="/cookie-policy">Cookie Policy.</a></p> 1098</div> 1099<div class="otscc-cat" data-cat> 1100<div class="otscc-cat__row"> 1101<button type="button" class="otscc-cat__toggle-head" aria-expanded="false"> 1102<span class="otscc-cat__plus" aria-hidden="true"> 1103<span class="otscc-icon-plus">+</span> 1104<span class="otscc-icon-cross"> 1105<svg viewBox="0 0 16 16" fill="none" xmlns="http://www.w3.org/2000/svg"> 1106<path d="M12.9194 2.69783C13.1635 2.45375 13.5592 2.45375 13.8033 2.69783C14.0474 2.94191 14.0474 3.33764 13.8033 3.58172L8.94194 8.44307L4.08058 13.3044C3.83651 13.5485 3.44078 13.5485 3.1967 13.3044C2.95262 13.0604 2.95262 12.6646 3.1967 12.4206L12.9194 2.69783Z" fill="currentColor"/> 1107<path d="M13.8033 12.4206C14.0474 12.6646 14.0474 13.0604 13.8033 13.3044C13.5592 13.5485 13.1635 13.5485 12.9194 13.3044L3.1967 3.58172C2.95262 3.33764 2.95262 2.94191 3.1967 2.69783C3.44078 2.45375 3.83651 2.45375 4.08058 2.69783L13.8033 12.4206Z" fill="currentColor"/> 1108</svg> 1109</span> 1110</span> 1111<span class="otscc-cat__name">Necessary</span> 1112</button> 1113<span class="otscc-cat__always">Always active</span> 1114</div> 1115<div class="otscc-cat__desc-wrap"><p class="otscc-cat__desc">Required for page loading, security, and form submissions. The site does not work without them.</p></div> 1116</div> 1117<div class="otscc-cat" data-cat> 1118<div class="otscc-cat__row"> 1119<button type="button" class="otscc-cat__toggle-head" aria-expanded="false"> 1120<span class="otscc-cat__plus" aria-hidden="true"> 1121<span class="otscc-icon-plus">+</span> 1122<span class="otscc-icon-cross"> 1123<svg viewBox="0 0 16 16" fill="none" xmlns="http://www.w3.org/2000/svg"> 1124<path d="M12.9194 2.69783C13.1635 2.45375 13.5592 2.45375 13.8033 2.69783C14.0474 2.94191 14.0474 3.33764 13.8033 3.58172L8.94194 8.44307L4.08058 13.3044C3.83651 13.5485 3.44078 13.5485 3.1967 13.3044C2.95262 13.0604 2.95262 12.6646 3.1967 12.4206L12.9194 2.69783Z" fill="currentColor"/> 1125<path d="M13.8033 12.4206C14.0474 12.6646 14.0474 13.0604 13.8033 13.3044C13.5592 13.5485 13.1635 13.5485 12.9194 13.3044L3.1967 3.58172C2.95262 3.33764 2.95262 2.94191 3.1967 2.69783C3.44078 2.45375 3.83651 2.45375 4.08058 2.69783L13.8033 12.4206Z" fill="currentColor"/> 1126</svg> 1127</span> 1128</span> 1129<span class="otscc-cat__name">Analytics</span> 1130</button> 1131<label class="otscc-switch"> 1132<input type="checkbox" id="otsccAnalytics" checked aria-label="Allow analytics cookies"> 1133<span class="otscc-switch__ui"></span> 1134</label> 1135</div> 1136<div class="otscc-cat__desc-wrap"><p class="otscc-cat__desc">Google Analytics 4 via Google Tag Manager. Shows us which pages people read and where they leave. Data is aggregated.</p></div> 1137</div> 1138<div class="otscc-cat" data-cat> 1139<div class="otscc-cat__row"> 1140<button type="button" class="otscc-cat__toggle-head" aria-expanded="false"> 1141<span class="otscc-cat__plus" aria-hidden="true"> 1142<span class="otscc-icon-plus">+</span> 1143<span class="otscc-icon-cross"> 1144<svg viewBox="0 0 16 16" fill="none" xmlns="http://www.w3.org/2000/svg"> 1145<path d="M12.9194 2.69783C13.1635 2.45375 13.5592 2.45375 13.8033 2.69783C14.0474 2.94191 14.0474 3.33764 13.8033 3.58172L8.94194 8.44307L4.08058 13.3044C3.83651 13.5485 3.44078 13.5485 3.1967 13.3044C2.95262 13.0604 2.95262 12.6646 3.1967 12.4206L12.9194 2.69783Z" fill="currentColor"/> 1146<path d="M13.8033 12.4206C14.0474 12.6646 14.0474 13.0604 13.8033 13.3044C13.5592 13.5485 13.1635 13.5485 12.9194 13.3044L3.1967 3.58172C2.95262 3.33764 2.95262 2.94191 3.1967 2.69783C3.44078 2.45375 3.83651 2.45375 4.08058 2.69783L13.8033 12.4206Z" fill="currentColor"/> 1147</svg> 1148</span> 1149</span> 1150<span class="otscc-cat__name">Marketing</span> 1151</button> 1152<label class="otscc-switch"> 1153<input type="checkbox" id="otsccMarketing" checked aria-label="Allow marketing cookies"> 1154<span class="otscc-switch__ui"></span> 1155</label> 1156</div> 1157<div class="otscc-cat__desc-wrap"><p class="otscc-cat__desc">HubSpot and LinkedIn. Lets us see which campaigns bring visitors and show relevant ads. If this is off, we cannot tell where your visit came from.</p></div> 1158</div> 1159<div class="otscc-modal__actions"> 1160<button type="button" class="otscc-btn otscc-btn--ghost" id="otsccModalNecessary">Necessary only</button> 1161<button type="button" class="otscc-btn otscc-btn--ghost" id="otsccSave">Save preferences</button> 1162<button type="button" class="otscc-btn otscc-btn--solid" id="otsccModalAcceptAll">Accept all</button> 1163</div> 1164</div> 1165</div> 1166
1167<script> 1168(function () { 1169 var COOKIE_NAME = 'ots_cookie_consent'; 1170 var COOKIE_DAYS = 182; 1171 var banner = document.getElementById('otsccBanner'); 1172 var overlay = document.getElementById('otsccOverlay'); 1173 var modal = document.getElementById('otsccModal'); 1174 var tglAnalytics = document.getElementById('otsccAnalytics'); 1175 var tglMarketing = document.getElementById('otsccMarketing'); 1176 function readConsent() { 1177 var m = document.cookie.match(new RegExp('(?:^|;\\s*)' + COOKIE_NAME + '=([^;]+)')); 1178 if (!m) return null; 1179 try { return JSON.parse(decodeURIComponent(m[1])); } catch (e) { return null; } 1180 } 1181 function writeConsent(c) { 1182 var d = new Date(); 1183 d.setTime(d.getTime() + COOKIE_DAYS * 24 * 60 * 60 * 1000); 1184 document.cookie = COOKIE_NAME + '=' + encodeURIComponent(JSON.stringify(c)) + '; expires=' + d.toUTCString() + '; path=/; SameSite=Lax; Secure'; 1185 } 1186 function applyConsent(c) { 1187 if (typeof gtag === 'function') { 1188 gtag('consent', 'update', { 1189 analytics_storage: c.analytics ? 'granted' : 'denied', 1190 ad_storage: c.marketing ? 'granted' : 'denied', 1191 ad_user_data: c.marketing ? 'granted' : 'denied', 1192 ad_personalization: c.marketing ? 'granted' : 'denied' 1193 }); 1194 } 1195 window.dataLayer = window.dataLayer || []; 1196 window.dataLayer.push({ 1197 event: 'ots_consent_update', 1198 consent_analytics: !!c.analytics, 1199 consent_marketing: !!c.marketing 1200 }); 1201 } 1202 function saveAndClose(analytics, marketing) { 1203 var c = { necessary: true, analytics: !!analytics, marketing: !!marketing, ts: new Date().toISOString() }; 1204 writeConsent(c); 1205 applyConsent(c); 1206 hideBanner(); closeModal(); 1207 } 1208 function showBanner() { banner.classList.add('otscc-visible'); } 1209 function hideBanner() { banner.classList.remove('otscc-visible'); } 1210 function openModal() { 1211 var c = readConsent(); 1212 if (c) { tglAnalytics.checked = !!c.analytics; tglMarketing.checked = !!c.marketing; } 1213 overlay.classList.add('otscc-visible'); 1214 modal.classList.add('otscc-visible'); 1215 document.getElementById('otsccClose').focus(); 1216 } 1217 function closeModal() { 1218 overlay.classList.remove('otscc-visible'); 1219 modal.classList.remove('otscc-visible'); 1220 } 1221 document.getElementById('otsccCustomise').addEventListener('click', openModal); 1222 document.getElementById('otsccBannerNecessary').addEventListener('click', function () { saveAndClose(false, false); }); 1223 document.getElementById('otsccBannerAcceptAll').addEventListener('click', function () { saveAndClose(true, true); }); 1224 document.getElementById('otsccModalNecessary').addEventListener('click', function () { saveAndClose(false, false); }); 1225 document.getElementById('otsccModalAcceptAll').addEventListener('click', function () { saveAndClose(true, true); }); 1226 document.getElementById('otsccSave').addEventListener('click', function () { saveAndClose(tglAnalytics.checked, tglMarketing.checked); }); 1227 document.getElementById('otsccClose').addEventListener('click', function () { 1228 closeModal(); 1229 if (!readConsent()) showBanner(); 1230 }); 1231 overlay.addEventListener('click', function () { 1232 closeModal(); 1233 if (!readConsent()) showBanner(); 1234 }); 1235 document.addEventListener('keydown', function (e) { 1236 if (e.key === 'Escape' && modal.classList.contains('otscc-visible')) { 1237 closeModal(); 1238 if (!readConsent()) showBanner(); 1239 } 1240 }); 1241 var otsccToggleBtns = Array.prototype.slice.call(document.querySelectorAll('.otscc-cat__toggle-head')); 1242 otsccToggleBtns.forEach(function (btn) { 1243 btn.addEventListener('click', function () { 1244 var cat = btn.closest('[data-cat]'); 1245 var willOpen = !cat.classList.contains('otscc-open'); 1246 otsccToggleBtns.forEach(function (otherBtn) { 1247 var otherCat = otherBtn.closest('[data-cat]'); 1248 if (otherCat !== cat) { 1249 otherCat.classList.remove('otscc-open'); 1250 otherBtn.setAttribute('aria-expanded', 'false'); 1251 } 1252 }); 1253 cat.classList.toggle('otscc-open', willOpen); 1254 btn.setAttribute('aria-expanded', willOpen ? 'true' : 'false'); 1255 }); 1256 }); 1257 Array.prototype.forEach.call(document.querySelectorAll('[data-cookie-sett
1257ings]'), function (el) { 1258 el.addEventListener('click', function (e) { e.preventDefault(); hideBanner(); openModal(); }); 1259 }); 1260 var existing = readConsent(); 1261 if (existing) { 1262 applyConsent(existing); 1263 } else { 1264 showBanner(); 1265 } 1266})(); 1267</script>
1267 1268 1269<!-- OTS forms v2 (2026-09-28): validation, reCAPTCHA, IP/country/city, bot trap. Minified to fit the 50k footer limit; readable source: forms/ots-forms.js in the project folder. Off for a test: ?otsforms=0 --> 1270<style> 1271.ots-field{min-width:0} 1272.ots-invalid.w-input,.ots-invalid.w-select{box-shadow:inset 0 0 0 1px #e81c50!important} 1273.w-checkbox.ots-invalid .w-checkbox-input{border-color:#e81c50!important} 1274.ots-ok.w-input,.ots-ok.w-select{box-shadow:inset 0 0 0 1px #19a463!important} 1275.ots-error{display:block;margin:.45em 0 0;color:#e81c50;font-size:.9722vw;font-weight:500;line-height:1.3;letter-spacing:0;text-align:left} 1276.ots-dark .ots-invalid.w-input,.ots-dark .ots-invalid.w-select{box-shadow:inset 0 0 0 1px #ffbfcd!important} 1277.ots-dark .w-checkbox.ots-invalid .w-checkbox-input{border-color:#ffbfcd!important} 1278.ots-dark .ots-ok.w-input,.ots-dark .ots-ok.w-select{box-shadow:inset 0 0 0 1px #6fe3a6!important} 1279.ots-dark .ots-error{color:#ffbfcd} 1280.ots-recaptcha{margin-top:1.389vw;min-height:78px} 1281.ots-recaptcha__widget{width:304px;transform-origin:0 0} 1282@media screen and (max-width:479px){.ots-error{font-size:3.611vw}.ots-recaptcha{margin-top:5.556vw}.ots-recaptcha-note{font-size:2.78vw}} 1283.ots-recaptcha-note{margin:.75em 0 0;font-size:.7639vw;line-height:1.35;color:var(--gray-1,#9d9d9d);letter-spacing:0} 1284.ots-recaptcha-note a{color:inherit;text-decoration:underline} 1285.ots-dark .ots-recaptcha-note{color:#e6e6e6;opacity:.75} 1286.grecaptcha-badge{visibility:hidden} 1287</style>
1288<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery-validate/1.22.1/jquery.validate.min.js" integrity="sha384-DIFfDxcYkhbAXYdxOYFZshXsis24zK4HtbU7qI30u9/eP7JtiRIGuOaLsoYL5QTs" crossorigin="anonymous"></script>
vendor: 1 bytes, line 1288
1288
1289<script> 1290window.OTS_FORMS = { 1291 recaptcha: true, // invisible reCAPTCHA v3 on the forms Webflow receives 1292 mode: 'v3', 1293 siteKey: '6Lc61MUtAAAAAEHlSveiifvqTUcq6V4SKBAKFvD6', 1294 geo: true, // hidden IP / Country / City fields 1295 honeypot: true, // off-screen trap field; a bot fills it, a visitor cannot 1296 honeypotName: 'Website', // if this arrives filled in, the entry is a bot 1297 1298 // Texts the visitor sees. Edit them right here - nothing else has to change. 1299 messages: { 1300 required: 'This field is required.', 1301 name: 'Please enter your name.', 1302 nameBad: 'Please use letters only, without numbers or links.', 1303 email: 'Please enter your email.', 1304 emailBad: 'Please enter a valid email address, e.g. [email protected].', 1305 phone: 'Please enter your phone number.', 1306 phoneBad: 'Please enter a valid phone number, e.g. +48 600 000 000.', 1307 company: 'Please enter your company name.', 1308 url: 'Please enter a valid link, e.g. linkedin.com/in/your-name.', 1309 links: 'Links are not allowed in this field.', 1310 text: 'Please write a few words.', 1311 short: 'Please enter at least {0} characters.', 1312 consent: 'Please accept the Terms of Service and the Privacy Policy.', 1313 check: 'Please check this box.', 1314 choose: 'Please choose an option.', 1315 robot: 'Please confirm that you are not a robot.', 1316 blocked: 'The security check could not be completed in your browser, so the form cannot be sent. Please reload the page, or write to us at [email protected].', 1317 sendFailed: 'We could not send your message. Please check the email address and try again â or simply write to us at [email protected].' 1318 } 1319}; 1320</script>
vendor: 1 bytes, line 1320
1320
1321<script> 1322!function(){"use strict";var e=window.jQuery;if(e&&e.fn&&!/[?&]otsforms=0\b/.test(location.search)){var t,n=!!e.fn.validate,a=e.extend({recaptcha:!1,mode:"v2",siteKey:"",geo:!0},window.OTS_FORMS||{}),o="v3"===a.mode,r=e.extend({required:"This field is required.",name:"Please enter your name.",nameBad:"Please use letters only, without numbers or links.",email:"Please enter your email.",emailBad:"Please enter a valid email address, e.g. [email protected].",phone:"Please enter your phone number.",phoneBad:"Please enter a valid phone number, e.g. +48 600 000 000.",company:"Please enter your company name.",url:"Please enter a valid link, e.g. linkedin.com/in/your-name.",links:"Links are not allowed in this field.",text:"Please write a few words.",short:"Please enter at least {0} characters.",consent:"Please accept the Terms of Service and the Privacy Policy.",check:"Please check this box.",choose:"Please choose an option.",robot:"Please confirm that you are not a robot.",blocked:"The security check could not be completed in your browser, so the form cannot be sent. Please reload the page, or write to us at [email protected].",sendFailed:"We could not send your message. Please check the email address and try again â or simply write to us at [email protected]."},a.messages||{});try{t=new RegExp("\\p{L}","gu")}catch(e){t=/[A-Za-z\u00C0-\u024F\u0370-\u03FF\u0400-\u04FF]/g}var i={email:/^[A-Za-z0-9!#$%&'*+\/=?^_`{|}~-]+(\.[A-Za-z0-9!#$%&'*+\/=?^_`{|}~-]+)*@([A-Za-z0-9]([A-Za-z0-9-]*[A-Za-z0-9])?\.)+([A-Za-z]{2,24}|xn--[A-Za-z0-9-]{2,59})$/,exampleDomain:/@(.+\.)?example\.(com|org|net)$/i,link:/(https?:\/\/|www\.)/i,nameChars:/^[^0-9@#$%^&*=+_<>{}\[\]|\\\/:;"~`!?]+$/,phoneChars:/^\+?[0-9\s().\-]+$/,url:/^(https?:\/\/)?([A-Za-z0-9-]+\.)+[A-Za-z]{2,}(:\d+)?(\/\S*)?$/i};b("otsName",function(e){return i.nameChars.test(e)&&!i.link.test(e)&&g(e)>=1},r.nameBad),b("otsEmail",function(e){return e.length<=254&&i.email.test(e)&&!i.exampleDomain.test(e)},r.emailBad);var s={1:[10],7:[10],48:[9],375:[9],380:[9],44:[10],49:[10,11],31:[9],33:[9],34:[9],39:[9,10],351:[9],353:[9],370:[8],371:[8],372:[7,8],420:[9],421:[9],40:[9],41:[9],43:[10,11],32:[9],36:[9],359:[8,9],45:[8],46:[7,8,9],47:[8],358:[9,10]};b("otsPhone",function(e){if(!i.phoneChars.test(e))return!1;var t=e.replace(/\D/g,""),n="+"===e.charAt(0)||/^\s*00/.test(e);if(/^00/.test(t)&&n&&(t=t.slice(2)),function(e){return!!/^(\d)\1+$/.test(e)||e.length>=7&&("01234567890123456789".indexOf(e)>=0||"98765432109876543210".indexOf(e)>=0)}(t))return!1;if(!n)return t.length>=7&&t.length<=15;for(var a=3;a>=1;a--){var o=s[t.slice(0,a)];if(o)return o.indexOf(t.length-a)>=0}return t.length>=8&&t.length<=15},r.phoneBad),b("otsUrl",function(e){return i.url.test(e)},r.url),b("otsNoLinks",function(e){return!i.link.test(e)},r.links),b("otsText",function(e){return g(e)>=2},r.text),b("otsSense",function(e){return/[0-9]/.test(e)||g(e)>=1},r.text),n&&e.extend(e.validator.messages,{required:r.required,email:r.emailBad,url:r.url,minlength:e.validator.format(r.short),maxlength:e.validator.format("Please enter no more than {0} characters.")});var c,l=/^(files?|my-uploader|utm[-_]|lever ?id|greenhouse ?id|page[-_ ]?url|hutk|ipaddress|pageuri|pageid|pagename|mmerge|g-recaptcha-response)/i,u=["gridColumnStart","gridColumnEnd","gridRowStart","gridRowEnd","alignSelf","justifySelf","order","flexGrow","flexShrink","flexBasis"];e(window).on("resize",function(){clearTimeout(c),c=setTimeout(function(){e(".ots-field").each(function(){w(this)})},150)});var d,f=!1,m=[];document.addEventListener("pointerdown",function(){f=!0},!0),e(document).on("pointerup pointercancel",function(){setTimeout(x,0)});var p={state:"idle",queue:[]};window.otsRecaptchaReady=function(){p.state="ready",p.queue.splice(0).forEach(A)};var h=null,v=null;document.addEventListener("submit",function(e){var t=e.target,n=t&&t.__ots;if(n){if(function(e){var t=e.querySelector("[data-ots-hp]");return!(!t||!String(t.value).trim())}(t))return e.preventDefault(),void e.stopImmediatePropagation();var r,i,s,c,l,u,d=!0;try{d=!n.validator||n.validator.form(),o||function(e){var t=e.captcha;if(!t||"failed"===p.state)return!0;
1322if(null===t.id)return"idle"===p.state&&(p.queue.push(e),q()),L(e,!0),!1;var n=!!window.grecaptcha.getResponse(t.id);return L(e,!n),n}(n)||(d=!1)}catch(e){d=!0}if(d&&o&&n.v3&&(l=n.v3,u=Date.now()-l.ts,!(l.ts>0&&(l.token?u<1e5:u<2e4))))return e.preventDefault(),e.stopImmediatePropagation(),q(),r=function(e){n.v3.token=e,n.v3.ts=Date.now(),E(t,e),function(e){if("function"==typeof e.requestSubmit){var t=e.querySelector('[type="submit"]');try{return e.requestSubmit(t&&!t.disabled?t:void 0)}catch(e){}}e.dispatchEvent(new Event("submit",{bubbles:!0,cancelable:!0}))}(t)},i=!1,s=Date.now()+8e3,c=function(e){i||(i=!0,setTimeout(function(){r(e)},0))},setTimeout(function(){c("")},8e3),void function e(){var t=window.grecaptcha;if(!i){if("failed"===p.state||Date.now()>s)return c("");if(!t||!t.execute)return setTimeout(e,200);try{t.execute(a.siteKey,{action:"submit"}).then(c,function(){setTimeout(e,250)})}catch(t){setTimeout(e,250)}}}();if(d)return o&&n.v3&&E(t,n.v3.token),z(t),void function(e){var t=e.querySelector("[data-ots-hp]");t&&(t.parentNode.removeChild(t),setTimeout(function(){N(e)},0))}(t);e.preventDefault(),e.stopImmediatePropagation();var f=n.validator&&n.validator.errorList.length?n.validator.errorList[0].element:null;f?"checkbox"===f.type?f.closest("label, .w-checkbox").scrollIntoView({block:"center"}):f.focus():n.captcha&&n.captcha.box.scrollIntoView({block:"center"})}},!0),"loading"===document.readyState?document.addEventListener("DOMContentLoaded",R):R()}function g(e){return(e.match(t)||[]).length}function y(t){return e.trim(e(t).val()||"")}function b(t,a,o){n&&e.validator.addMethod(t,function(t,n){return this.optional(n)||a(e.trim(t),n)},o)}function w(e){var t=getComputedStyle(e.firstChild);u.forEach(function(n){e.style[n]=t[n]})}function x(){f=!1,m.splice(0).forEach(function(e){e()})}function k(e){if(!f)return e();m.push(e),clearTimeout(d),d=setTimeout(x,1500)}function C(t){if(!t.__ots){var i=e(t);if(!i.is("[fs-cmsfilter-element], [data-ots-skip]")&&i.find('[type="submit"]').length){var s=t.__ots={form:t};(function(e){var t=e.querySelector('input[type="text"], input[type="email"], textarea'),n=t&&getComputedStyle(t).color.match(/\d+/g);return!!n&&.299*n[0]+.587*n[1]+.114*n[2]>160})(t)&&t.classList.add("ots-dark"),n&&(s.validator=i.validate({onsubmit:!1,ignore:':hidden, [type="hidden"], [type="file"], [data-ots-hp], .g-recaptcha-response',errorElement:"div",errorClass:"ots-error",validClass:"ots-valid",focusInvalid:!1,highlight:function(t){e(t).addClass("ots-invalid").removeClass("ots-ok").closest(".w-checkbox, .w-radio").addClass("ots-invalid")},unhighlight:function(t){e(t).removeClass("ots-invalid").closest(".w-checkbox, .w-radio").removeClass("ots-invalid"),e(t).toggleClass("ots-ok",!/checkbox|radio/.test(t.type||"")&&""!==y(t))},errorPlacement:function(t,n){t.attr("role","alert"),function(t){if("radio"===t.type){var n=e(t.form).find('input[type="radio"]').filter(function(){return this.name===t.name}).last();return n.closest("label, .w-radio").last().length?n.closest("label, .w-radio").last():n}return"checkbox"===t.type?e(t).closest("label, .w-checkbox").last():e(t)}(n[0]).after(t)},onfocusout:function(e){var t=this;t.checkable(e)||""===y(e)&&!(e.name in t.submitted)||k(function(){t.element(e)})}})),n&&i.find("input, textarea, select").each(function(){var t=this,n=(t.type||"").toLowerCase();if(!/^(hidden|submit|button|file|reset|image)$/.test(n)&&t.name&&!l.test(t.name)&&!l.test(e(t).attr("data-name")||"x")&&"none"!==getComputedStyle(t).display){"number"===n&&/phone|tel\b/i.test(t.name+" "+e(t).attr("data-name"))&&(t.type="tel",t.setAttribute("autocomplete","tel"),n="tel");var a=function(t){var n=e(t),a=(t.type||"").toLowerCase(),o=[t.name,n.attr("data-name"),t.id,t.placeholder].join(" "),i=n.prop("required"),s={},c={};return"checkbox"===a?(i&&(s.required=!0,c.required=/terms|privacy|agree/i.test(n.closest("label").text())?r.consent:r.check),{rules:s,messages:c}):"radio"===a||"SELECT"===t.tagName?(i&&(s.required=!0,c.required=r.choose),{rules:s,messages:c}):(i&&(s.required=!0,c.required=r.required),"email"===a||/e-?mail/i.test(o)?(s.otsEmail=!0,c.required=r.email):"tel"===a||/phone|tel\b/i.test(o)?(s.otsPhone=!0,c.required=r.phone):/company|organi[sz]ation/i.test(o)?(s.otsSense=!0,s.otsNoLinks=!0,s.minlength=2,c.required=r.company):/(^|\s|_|-)(full[ _-]?)?name\b|first.?name|last.?name|candidatename/i.test(o)?(s.otsName=!0,s.minlength=2,s.maxlength=100,c.required=r.
1322name):/link|url|linkedin|cv\b|website/i.test(o)&&!/page[ _-]?url/i.test(o)?s.otsUrl=!0:"TEXTAREA"===t.tagName?s.otsText=!0:(s.otsSense=!0,s.otsNoLinks=!0),s.minlength&&(c.minlength=e.validator.format(r.short)),{rules:s,messages:c})}(t);e.isEmptyObject(a.rules)||("checkbox"!==n&&"radio"!==n&&function(e){if("ots-field"!==e.parentNode.className){var t=document.createElement("div");t.className="ots-field",e.parentNode.insertBefore(t,e),t.appendChild(e),w(t)}}(t),e(t).rules("add",e.extend({},a.rules,{messages:a.messages})))}}),n&&i.on("input change","input, textarea, select",function(){var t=this;""===y(t)&&e(t).removeClass("ots-ok"),s.validator.invalid[t.name]&&k(function(){s.validator.element(t)})}),a.recaptcha&&a.siteKey&&!(t.getAttribute("action")||"").trim()&&(o?S:T)(s),/list-manage/i.test(t.getAttribute("action")||"")&&function(t){var n=e(t).closest(".w-form").find("> .w-form-fail")[0];if(!n||!("MutationObserver"in window))return;new MutationObserver(function(){if("none"!==n.style.display){var t=e(n).find("div").first();t.length&&!t.data("ots")&&t.data("ots",1).text(r.sendFailed)}}).observe(n,{attributes:!0,attributeFilter:["style"]})}(t),N(t),z(t),a.geo&&i.one("focusin pointerdown",function(){v||!window.fetch||(v=I("https://ipwho.is/?fields=success,ip,country,city",5e3).then(function(e){return e.json()}).then(function(e){if(!e||!e.success)throw new Error("ipwho.is");return{ip:e.ip,country:e.country,city:e.city}}).catch(function(){return I("/cdn-cgi/trace",4e3).then(function(e){return e.text()}).then(function(e){var t=(e.match(/^ip=(.*)$/m)||[])[1],n=(e.match(/^loc=(.*)$/m)||[])[1],a=n;try{a=new Intl.DisplayNames(["en"],{type:"region"}).of(n)}catch(e){}return{ip:t,country:a,city:""}})}).then(function(t){h=t,e("form").each(function(){this.__ots&&z(this)})}).catch(function(){}))}),function(t){var n=t.form.querySelector('[type="submit"]');if(!n||!n.disabled)return;var a=function(){n.disabled&&!e(t.form).find("> .ots-form-error").length&&e(t.form).append('<p class="ots-error ots-form-error" role="alert">'+r.blocked+"</p>")};setTimeout(a,8e3),t.form.addEventListener("click",function(e){n.disabled&&e.target.closest('a, button, [type="submit"]')&&a()},!0);var o=setInterval(function(){n.disabled||(clearInterval(o),e(t.form).find("> .ots-form-error").remove())},1e3)}(s)}}}function q(){if("idle"===p.state){p.state="loading";var e=document.createElement("script");e.src="https://www.google.com/recaptcha/api.js?"+(o?"render="+encodeURIComponent(a.siteKey):"onload=otsRecaptchaReady&render=explicit")+"&hl=en",o&&(e.onload=function(){p.state="ready"}),e.async=!0,e.onerror=P,document.head.appendChild(e),setTimeout(function(){"loading"===p.state&&P()},15e3)}}function P(){p.state="failed",e(".ots-recaptcha").hide()}function S(t){var n=t.form;if(t.v3={token:"",ts:0},e(n).find(".ots-recaptcha-note").length||e(n).append('<p class="ots-recaptcha-note">This site is protected by reCAPTCHA and the Google <a href="https://policies.google.com/privacy" target="_blank" rel="noopener">Privacy Policy</a> and <a href="https://policies.google.com/terms" target="_blank" rel="noopener">Terms of Service</a> apply.</p>'),"IntersectionObserver"in window){var a=new IntersectionObserver(function(e){e[0].isIntersecting&&(a.disconnect(),q())},{rootMargin:"600px 0px"});a.observe(n)}else q();e(n).one("focusin",q)}function E(e,t){var n=e.querySelector('[name="g-recaptcha-response"]');t?(n||((n=document.createElement("input")).type="hidden",n.name="g-recaptcha-response",e.appendChild(n)),n.value=t||""):n&&"hidden"===n.type&&n.parentNode.removeChild(n)}function T(t){var n=t.form,a=document.createElement("div");a.className="ots-recaptcha",a.innerHTML='<div class="ots-recaptcha__widget"></div>';var o=e(n).find('input[type="checkbox"][required]').last().closest("label, .w-checkbox");o.length?o.after(a):e(n).find('[type="submit"]').first().before(a),t.captcha={box:a,widget:a.firstChild,id:null};var r=function(){"ready"===p.state?A(t):(p.queue.push(t),q())};if("IntersectionObserver"in window){var i=new IntersectionObserver(function(e){e[0].isIntersecting&&(i.disconnect(),r())},{rootMargin:"600px 0px"});i.observe(n)}else r();e(n).one("focusin",r);var s=e(n).closest(".w-form").find("> .w-form-fail")[0];s&&"MutationObserver"in window&&new MutationObserver(function(){"none"!==s.style.display&&null!==t.captcha.id&&window.grecaptcha.reset(t.captcha.id)}).observe(s,{attributes:!0,attributeFilter:["style"]})}function A(t){var n=t.captcha;n&&null===n.id&&window.grecaptcha&&(n.id=window.grecaptcha.render(n.widget,{sitekey:a.siteKey,theme:t.form.classList.contains("ots-dark")?"dark":"light",callback:function(){L(t,!1)},"expired-callback":function(){L(t,!0)}}),_(t),e(window).on("resize",function(){_(t)}))}function _(e){var t=e.captcha,n=Math.min(1,t.box.clientWidth/304||1);t.widget.style.transform=n<1?"scale("+n+")":"",t.box.style.minHeight=Math.ceil(78*n)+"px"}function L(t,n){var a=t.captcha,o=e(a.box).find("> .ots-error");a.box.classList.toggle("ots-invalid",n),n&&!o.length&&e(a.box).append('<p class="ots-error" role="alert">'+r.robot+"</p>"),n||o.remove()}function I(e,t){var n=window.AbortController?new AbortController:null,a=setTimeout(function(){n&&n.abort()},t);return fetch(e,{cache:"no-store",signal:n&&n.signal}).finally(function(){clearTimeout(a)})}function N(e){if(!1!==a.honeypot&&!e.querySelector("[data-ots-hp]")){var t=a.honeypotName||"Website",n=document.createElement("input");n.type="text",n.name=t,n.setAttribute("data-name",t),n.setAttribute("data-ots-hp","1"),n.tabIndex=-1,n.autocomplete="off",n.setAttribute("aria-hidden","true"),n.style.cssText="position:absolute;
1322left:-9999px;top:0;width:1px;height:1px;opacity:0;overflow:hidden",e.appendChild(n)}}function O(e,t,n,a){var o=e.querySelector('input[data-ots-field="'+t+'"]');o||((o=document.createElement("input")).type="hidden",o.name=n,o.setAttribute("data-name",n),o.setAttribute("data-ots-field",t),e.appendChild(o)),o.value=a||""}function z(e){var t=/list-manage/i.test(e.getAttribute("action")||"");e.querySelector('input[name="page_url"], input[name="Page-Url"], input[name="page-url"]')||O(e,"page",t?"PAGE_URL":"Page URL",location.href),h&&[["ip","IP"],["country","Country"],["city","City"]].forEach(function(n){O(e,n[0],t?n[1].toUpperCase():n[1],h[n[0]])})}function R(){e(".w-form form").each(function(){try{C(this)}catch(e){}})}}(); 1323</script>
1323 1324 1325<!-- OTS schema v1 (2026-09-24): подÑÑавлÑÐµÑ Ð² JSON-LD ÑÑÑаниÑÑ seo title, seo description и вопÑоÑÑ-оÑвеÑÑ Ð¸Ð· блока FAQ. РабоÑÐ°ÐµÑ ÑолÑко Ñам, где на ÑÑÑаниÑе еÑÑÑ Ð±Ð»Ð¾Ðº FAQ. ЧиÑаемÑй иÑÑ Ð¾Ð´Ð½Ð¸Ðº: schema/ots-schema.js в папке пÑоекÑа. ÐÑклÑÑиÑÑ Ð´Ð»Ñ Ð¿ÑовеÑки: ?otsschema=0 -->
1326<script> 1327!function(){"use strict";var t=document;try{if(location.search.indexOf("otsschema=0")>-1)return}catch(t){return}var e=/[\u200b\u200c\u200d\u2060\ufeff]/g;function n(t){return String(null==t?"":t).replace(e,"").replace(/\u00a0/g," ").replace(/\s+/g," ").trim()}var r={P:1,UL:1,OL:1,H1:1,H2:1,H3:1,H4:1,H5:1,H6:1,BLOCKQUOTE:1,FIGURE:1,DIV:1,TABLE:1};function o(t,e){var a,i,c,l=t.children,d=!1;for(a=0;a<l.length;a++)if(r[l[a].tagName]){d=!0;break}if(!d){var u=n(t.textContent);return u&&e.push(u),e}for(a=0;a<l.length;a++)if("UL"===(c=(i=l[a]).tagName)||"OL"===c)for(var f=0;f<i.children.length;f++){var p=n(i.children[f].textContent);p&&e.push(("OL"===c?f+1+". ":"â ")+p)}else if("TABLE"===c)for(var h=0;h<i.rows.length;h++){for(var s=i.rows[h].cells,g=[],y=0;y<s.length;y++){var v=n(s[y].textContent);v&&g.push(v)}g.length&&e.push(g.join(" â "))}else if("DIV"===c||"FIGURE"===c)o(i,e);else{var b=n(i.textContent);b&&e.push(b)}return e}function a(t){var e=t&&t["@type"];return null==e?"":e.join?e.join(" "):String(e)}function i(t){return/(^|\s)\w*Page(\s|$)/.test(a(t))&&a(t).indexOf("FAQPage")<0}function c(t){return a(t).indexOf("FAQPage")>-1}function l(){var e,r,a=n(t.title),l=t.querySelector('meta[name="description"]'),d=n(l?l.getAttribute("content"):""),u=function(){var e,r=t.querySelectorAll(".faq_dropdown"),a=[];for(e=0;e<r.length;e++){var i=r[e].querySelector(".dropdown_content_up h1,.dropdown_content_up h2,.dropdown_content_up h3,.dropdown_content_up h4"),c=r[e].querySelector(".faq_dropdown_content");if(i&&c){var l=n(i.textContent),d=o(c.querySelector(".w-richtext")||c,[]).join(" ");l&&d&&a.push({"@type":"Question",name:l,acceptedAnswer:{"@type":"Answer",text:d}})}}return a}(),f=t.querySelectorAll('script[type="application/ld+json"]'),p=[];for(e=0;e<f.length;e++){var h;try{h=JSON.parse(f[e].textContent)}catch(t){continue}h&&"object"==typeof h&&p.push({tag:f[e],data:h,dirty:!1})}var s=null,g=null;for(e=0;e<p.length;e++){var y=p[e].data["@graph"],v=y&&y.length?y:[p[e].data];for(r=0;r<v.length;r++)!s&&i(v[r])&&(s={block:p[e],node:v[r]}),!g&&c(v[r])&&(g={block:p[e],node:v[r]})}if(s&&(a&&s.node.name!==a&&(s.node.name=a,s.block.dirty=!0),d&&s.node.description!==d&&(s.node.description=d,s.block.dirty=!0)),u.length){if(!g&&s){var b=s.node,m=String(b["@id"]||b.url||location.origin+location.pathname.replace(/\/+$/,"")).split("#")[0],x={"@type":"FAQPage","@id":m+"#faq",url:m,isPartOf:{"@id":b["@id"]||m}},O=s.block.data["@graph"];O&&O.length?O.push(x):s.block.data={"@context":s.block.data["@context"]||"https://schema.org","@graph":[s.block.data,x]},g={block:s.block,node:x},s.block.dirty=!0}g&&JSON.stringify(g.node.mainEntity)!==JSON.stringify(u)&&(g.node.mainEntity=u,g.block.dirty=!0)}for(e=0;e<p.length;e++)p[e].dirty&&(p[e].tag.textContent=JSON.stringify(p[e].data,null,2))}function d(){try{l()}catch(t){}}"loading"===t.readyState?t.addEventListener("DOMContentLoaded",d):d()}(); 1328</script>
1328 1329
1330<script> 1331document.addEventListener('DOMContentLoaded', function() { 1332 var slider = document.querySelector('.team_slider'); // Replace with your slider's class 1333 var isScrolling; 1334 1335 slider.addEventListener('touchstart', function(e) { 1336 var touches = e.touches[0]; 1337 startX = touches.pageX; 1338 startY = touches.pageY; 1339 isScrolling = undefined; // Undefined at the start of a swipe 1340 }, false); 1341 1342 slider.addEventListener('touchmove', function(e) { 1343 if (isScrolling !== undefined) { 1344 return; 1345 } 1346 var touches = e.touches[0]; 1347 var deltaX = Math.abs(touches.pageX - startX); 1348 var deltaY = Math.abs(touches.pageY - startY); 1349 1350 if (deltaX >= deltaY) { 1351 e.preventDefault(); // It's a horizontal swipe, prevent default scroll behavior 1352 isScrolling = false; 1353 } else { 1354 isScrolling = true; // It's more vertical, let it scroll 1355 } 1356 }, { passive: false }); 1357}); 1358</script>
1358 1359
1359<script> 1360 gsap.registerPlugin(ScrollTrigger); 1361 1362 gsap.to(".number_card", { 1363 y: 0, 1364 scrollTrigger: { 1365 trigger: ".section.number", 1366 start: "top 70%", 1367 end: "top 0%", 1368 scrub: true 1369 } 1370 }); 1371 </script>
1371 1372
1373<script> 1374 window.addEventListener("DOMContentLoaded", (event) => { 1375 gsap.set("[animate]", { opacity: 1 }); 1376 1377 gsap.set(".main", { opacity: 1 }); 1378 1379 let typeSplit = new SplitType("[animate]", { 1380 types: "lines, words, chars", 1381 tagName: "span", 1382 }); 1383 1384 function createScrollTrigger(triggerElement, timeline) { 1385 ScrollTrigger.create({ 1386 trigger: triggerElement, 1387 start: "top 80%", 1388 onEnter: () => timeline.play() 1389 }); 1390 } 1391 1392 document.querySelectorAll('.line').forEach(line => { 1393 const wrapper = document.createElement('div'); 1394 wrapper.classList.add('line-wrap'); 1395 line.parentNode.insertBefore(wrapper, line); 1396 wrapper.appendChild(line); 1397 }); 1398 1399 $("[line-up]").each(function (index) { 1400 let tl = gsap.timeline({ paused: true }); 1401 tl.from($(this).find(".line"), { opacity: 0, rotationZ: '4', yPercent: 110, duration: 0.8, ease: "power1.out", stagger: { amount: 0.3 } }); 1402 createScrollTrigger($(this), tl); 1403 }); 1404 1405 const heroTimeline = gsap.timeline({ paused: false }); 1406 heroTimeline 1407 .fromTo(".hero_description", { opacity: 0 }, { opacity: 1, duration: 0.7 }, 0.8) 1408 .fromTo(".navbare_simbol", { opacity: 0 }, { opacity: 1, duration: 0.7 }, 0.8) 1409 .fromTo(".hero_border", { opacity: 0 }, { opacity: 1, duration: 0.7 }, 0.8) 1410 .fromTo(".hero_portal", { opacity: 0 }, { opacity: 1, duration: 0.7 }, 0.8) 1411 .fromTo("#sge", { opacity: 0 }, { opacity: 1, duration: 0.7 }, 0.8) 1412 .fromTo(".navbar_line", { width: '0%' }, { width: '100%', duration: 1.5 }, "<") 1413 1414 1415 }); 1416</script>
1416 1417 1418 1419
1420<script> 1421 1422 gsap.registerPlugin(ScrollTrigger); 1423 1424 gsap.utils.toArray('[gsap="opacity"]').forEach(element => { 1425 gsap.fromTo(element, 1426 { opacity: 0 }, 1427 { 1428 opacity: 1, 1429 scrollTrigger: { 1430 trigger: element, 1431 start: "top 95%", 1432 end: "top 85%", 1433 scrub: true 1434 } 1435 } 1436 ); 1437 }); 1438 1439 gsap.utils.toArray('[gsap="line"]').forEach(element => { 1440 gsap.fromTo(element, 1441 { width: "0%" }, 1442 { 1443 width: "100%", 1444 duration: 2.5, 1445 scrollTrigger: { 1446 trigger: element, 1447 start: "top 90%", 1448 toggleActions: "play none none none" 1449 } 1450 } 1451 ); 1452 }); 1453 1454 gsap.utils.toArray('[gsap="circle"]').forEach(element => { 1455 const isMobile = window.innerWidth <= 768; 1456 1457 gsap.fromTo(element, 1458 { borderRadius: isMobile ? "35vw" : "25em" }, 1459 { 1460 borderRadius: isMobile ? "2.78vw" : "0.63em", 1461 scrollTrigger: { 1462 trigger: element, 1463 start: "top 90%", 1464 end: "top 70%", 1465 scrub: true 1466 } 1467 } 1468 ); 1469 }); 1470 1471 gsap.utils.toArray('[gsap="circle-2"]').forEach(element => { 1472 const isMobile = window.innerWidth <= 768; 1473 1474 gsap.fromTo(element, 1475 { borderRadius: isMobile ? "35vw" : "25em" }, 1476 { 1477 borderRadius: isMobile ? "2.78vw" : "0.63em", 1478 scrollTrigger: { 1479 trigger: element, 1480 start: "top 50%", 1481 end: "top 20%", 1482 scrub: true 1483 } 1484 } 1485 ); 1486 }); 1487</script>
1487 1488
1489<script> 1490 window.addEventListener("DOMContentLoaded", (event) => { 1491 gsap.set("[anima]", { opacity: 1, color: "#E6E6E6" }); 1492 1493 let typeSplit = new SplitType("[anima]", { 1494 types: "lines, words, chars", 1495 tagName: "span", 1496 }); 1497 1498 const timelines = []; 1499 1500 document.querySelectorAll("[anima]").forEach(element => { 1501 let tl = gsap.timeline({ paused: true }); 1502 1503 tl.to(element.querySelectorAll(".char"), { 1504 color: "#1C1C1C", 1505 duration: 0.2, 1506 ease: "power1.out", 1507 stagger: { each: 0.04 } 1508 }); 1509 1510 ScrollTrigger.create({ 1511 trigger: element, 1512 start: "top 80%", 1513 onEnter: () => tl.play() 1514 }); 1515 1516 timelines.push(tl); 1517 }); 1518 1519 document.querySelectorAll(".feedbeck_slider_arrow").forEach(arrow => { 1520 arrow.addEventListener("click", () => { 1521 timelines.forEach(tl => tl.restart()); 1522 }); 1523 }); 1524 }); 1525</script>
1525 1526
1526<script> 1527const matterContainer = document.querySelector(".balls_wrapepr"); 1528let BALL_RADIUS = window.innerWidth <= 479 ? 22 : 45; 1529let NUMBER_OF_RED_BALLS = window.innerWidth <= 479 ? 12 : 30; 1530let BLUE_BALL_LIMIT = window.innerWidth <= 479 ? 6 : 10; 1531const THICCNESS = 60; 1532 1533// Colors 1534const BLUE_COLOR = { r: 73, g: 74, b: 168 }; // Blue color 1535const RED_COLOR = { r: 232, g: 28, b: 80 }; // Red color 1536const COLOR_TRANSITION_DURATION = 500; // Duration in milliseconds 1537 1538// Function to interpolate color 1539function interpolateColor(color1, color2, factor) { 1540 let result = color1.map((value, index) => Math.round(value + factor * (color2[index] - value))); 1541 return `rgb(${result[0]}, ${result[1]}, ${result[2]})`; 1542} 1543 1544// Module aliases 1545var Engine = Matter.Engine, 1546 Render = Matter.Render, 1547 Runner = Matter.Runner, 1548 Bodies = Matter.Bodies, 1549 Composite = Matter.Composite, 1550 Events = Matter.Events; 1551 1552// Create an engine 1553var engine = Engine.create(); 1554engine.world.gravity.y = 0.2; 1555 1556// Create a renderer 1557var render = Render.create({ 1558 element: matterContainer, 1559 engine: engine, 1560 options: { 1561 width: matterContainer.clientWidth, 1562 height: matterContainer.clientHeight, 1563 background: "transparent", 1564 wireframes: false, 1565 showAngleIndicator: false, 1566 visible: false 1567 } 1568}); 1569 1570// Function to create balls with a specified color 1571function createBall(x, y, color) { 1572 return Bodies.circle(x, y, BALL_RADIUS, { 1573 friction: 0.3, 1574 frictionAir: 0.001, 1575 restitution: 0.8, 1576 render: { 1577 fillStyle: `rgb(${color.r}, ${color.g}, ${color.b})` 1578 } 1579 }); 1580} 1581 1582function transitionToColor(body, startColor, endColor, duration) { 1583 let start = null; 1584 1585 function animate(timestamp) { 1586 if (!start) start = timestamp; 1587 let progress = Math.min((timestamp - start) / duration, 1); 1588 1589 let newColor = interpolateColor( 1590 [startColor.r, startColor.g, startColor.b], 1591 [endColor.r, endColor.g, endColor.b], 1592 progress 1593 ); 1594 1595 body.render.fillStyle = newColor; 1596 1597 if (progress < 1) { 1598 requestAnimationFrame(animate); 1599 } else { 1600 body.render.fillStyle = `rgb(${endColor.r}, ${endColor.g}, ${endColor.b})`; 1601 } 1602 } 1603 1604 requestAnimationFrame(animate); 1605} 1606 1607// Create red balls on the bottom 1608let redBalls = []; 1609for (let i = 0; i < NUMBER_OF_RED_BALLS; i++) { 1610 let x = Math.random() * matterContainer.clientWidth; 1611 let y = matterContainer.clientHeight - 100; 1612 let redBall = createBall(x, y, RED_COLOR); 1613 Composite.add(engine.world, redBall); 1614 redBalls.push(redBall); 1615} 1616 1617// Create an array for blue balls 1618let blueBalls = []; 1619let intervalId; 1620 1621// Function to release blue balls 1622function releaseBlueBalls() { 1623 if (blueBalls.length < BLUE_BALL_LIMIT) { 1624 let x = Math.random() * matterContainer.clientWidth; 1625 let y = -BALL_RADIUS; 1626 let blueBall = createBall(x, y, BLUE_COLOR); 1627 blueBalls.push(blueBall); 1628 Composite.add(engine.world, blueBall); 1629 } 1630} 1631 1632// Start releasing blue balls when user scrolls to the block 1633function startDroppingBlueBalls() { 1634 if (!intervalId) { 1635 intervalId = setInterval(releaseBlueBalls, 300); 1636 } 1637} 1638 1639// Scroll event listener 1640window.addEventListener("scroll", () => { 1641 const baallsElement = document.getElementById("baalls"); 1642 1643 if (baallsElement && baallsElement.getBoundingClientRect().top < window.innerHeight) { 1644 // Add all red balls to the world 1645 redBalls.forEach(ball => Composite.add(engine.world, ball)); 1646 redBalls = []; // Clear the array to prevent re-adding 1647 1648 // Start releasing blue balls 1649 startDroppingBlueBalls(); 1650 } 1651}); 1652 1653// Detect collisions and change blue to red gradually 1654Events.on(engine, 'collisionStart', function(event) { 1655 var pairs = event.pairs; 1656 1657 pairs.forEach(pair => { 1658 let bodies = [pair.bodyA, pair.bodyB]; 1659 1660 bodies.forEach(body => { 1661 if (body.render.fillStyle === `rgb(${BLUE_COLOR.r}, ${BLUE_COLOR.g}, ${BLUE_COLOR.b})`) { 1662 let otherBody = body === pair.bodyA ? pair.bodyB : pair.bodyA; 1663 if (otherBody.render.fillStyle === `rgb(${RED_COLOR.r}, ${RED_COLOR.g}, ${RED_COLOR.b})`) { 1664 transitionToColor(body, BLUE_COLOR, RED_COLOR, COLOR_TRANSITION_DURATION); 1665 } 1666 } 1667 }); 1668 }); 1669}); 1670 1671// Create boundaries 1672var ground = Bodies.rectangle( 1673 matterContainer.clientWidth / 2, 1674 matterContainer.clientHeight + THICCNESS / 2, 1675 matterContainer.clientWidth, 1676 THICCNESS, 1677 { isStatic: true } 1678); 1679 1680let leftWall = Bodies.rectangle( 1681 0 - THICCNESS / 2, 1682 matterContainer.clientHeight / 2, 1683 THICCNESS, 1684 matterContainer.clientHeight * 5, 1685 { isStatic: true } 1686); 1687 1688let rightWall = Bodies.rectangle( 1689 matterContainer.clientWidth + THICCNESS / 2, 1690 matterContainer.clientHeight / 2, 1691 THICCNESS, 1692 matterContainer.clientHeight * 5, 1693 { isStatic: true } 1694); 1695 1696// Add walls and ground to the world 1697Composite.add(engine.world, [ground, leftWall, rightWall]); 1698 1699// Start rendering 1700Render.run(render); 1701 1702// Create and run the runner 1703var runner = Runner.create(); 1704Runner.run(runner, engine); 1705 1706// Handle window resize 1707function handleResize(matterContainer) { 1708 BALL_RADIUS = window.innerWidth <= 479 ? 22 : 45; // Update ball radius on resize 1709 NUMBER_OF_RED_BALLS = window.innerWidth <= 479 ? 12 : 30; // Update number of red balls 1710 BLUE_BALL_LIMIT = window.innerWidth <= 479 ? 6 : 10; // Update blue ball limit 1711 1712 // Update canvas size 1713 render.canvas.width = matterContainer.clientWidth; 1714 render.canvas.height = matterContainer.clientHeight; 1715 1716 // Update ground position 1717 Matter.Body.setPosition( 1718 ground, 1719 Matter.Vector.create( 1720 matterContainer.clientWidth / 2, 1721 matterContainer.clientHeight + THICCNESS / 2 1722 ) 1723 ); 1724 1725 // Update right wall position 1726 Matter.Body.setPosition( 1727 rightWall, 1728 Matter.Vector.create( 1729 matterContainer.clientWidth + THICCNESS / 2, 1730 matterContainer.clientHeight / 2 1731 ) 1732 ); 1733 1734 // Update left wall position 1735 Matter.Body.setPosition( 1736 leftWall, 1737 Matter.Vector.create( 1738 0 - THICCNESS / 2, 1739 matterContainer.clientHeight / 2 1740 ) 1741 ); 1742} 1743 1744// Listen for window resize 1745window.addEventListener("resize", () => { 1746 handleResize(matterContainer); 1747}); 1748</script>
1748 1749
1750<script src="https://hubspotonwebflow.com/assets/js/form-124.js" type="text/javascript" integrity="sha384-bjyNIOqAKScdeQ3THsDZLGagNN56B4X2Auu9YZIGu+tA/PlggMk4jbWruG/P6zYj" crossorigin="anonymous"></script>
1750</body></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.