1<!DOCTYPE html> 2<html lang="en-US"> 3<head> 4 <meta charset="UTF-8"> 5 <meta name="viewport" content="width=device-width, initial-scale=1"> 6 <title>Medical Device R&D - Stardots</title> 7<link data-rocket-prefetch href="https://consentcdn.cookiebot.com" rel="dns-prefetch"> 8<link data-rocket-prefetch href="https://www.gstatic.com" rel="dns-prefetch"> 9<link data-rocket-prefetch href="https://www.googletagmanager.com" rel="dns-prefetch"> 10<link data-rocket-prefetch href="https://consent.cookiebot.com" rel="dns-prefetch"> 11<link data-rocket-prefetch href="https://www.google.com" rel="dns-prefetch"><link rel="preload" data-rocket-preload as="image" href="https://stardots.se/app/uploads/2025/03/Ball-Phase1-Wide.webp" imagesrcset="https://stardots.se/app/uploads/2025/03/Ball-Phase1-Wide.webp 1918w, https://stardots.se/app/uploads/2025/03/Ball-Phase1-Wide-300x83.webp 300w, https://stardots.se/app/uploads/2025/03/Ball-Phase1-Wide-1024x282.webp 1024w, https://stardots.se/app/uploads/2025/03/Ball-Phase1-Wide-768x211.webp 768w, https://stardots.se/app/uploads/2025/03/Ball-Phase1-Wide-1536x423.webp 1536w, https://stardots.se/app/uploads/2025/03/Ball-Phase1-Wide-1240
11x341.webp 1240w, https://stardots.se/app/uploads/2025/03/Ball-Phase1-Wide-960x264.webp 960w" imagesizes="(max-width: 1918px) 100vw, 1918px" fetchpriority="high"> 12 <link rel="sitemap" href="https://stardots.se/sitemap_index.xml" /> 13 <link rel="apple-touch-icon" sizes="180x180" href="/apple-touch-icon.png"> 14 <link rel="icon" type="image/png" sizes="32x32" href="/favicon-32x32.png"> 15 <link rel="icon" type="image/png" sizes="16x16" href="/favicon-16x16.png"> 16 <link rel="manifest" href="/site.webmanifest" crossorigin="use-credentials"> 17
17<script type="text/javascript"> 18 window.dataLayer = window.dataLayer || []; 19 20 function gtag() { 21 dataLayer.push(arguments); 22 } 23 24 gtag("consent", "default", { 25 ad_personalization: "denied", 26 ad_storage: "denied", 27 ad_user_data: "denied", 28 analytics_storage: "denied", 29 functionality_storage: "denied", 30 personalization_storage: "denied", 31 security_storage: "granted", 32 wait_for_update: 500, 33 }); 34 gtag("set", "ads_data_redaction", true); 35 </script>
vendor: 1 bytes, line 35
35
36<script type="text/javascript"> 37 (function (w, d, s, l, i) { 38 w[l] = w[l] || []; 39 w[l].push({'gtm.start': new Date().getTime(), event: 'gtm.js'}); 40 var f = d.getElementsByTagName(s)[0], j = d.createElement(s), dl = l !== 'dataLayer' ? '&l=' + l : ''; 41 j.async = true; 42 j.src = 'https://www.googletagmanager.com/gtm.js?id=' + i + dl; 43 f.parentNode.insertBefore(j, f); 44 })( 45 window, 46 document, 47 'script', 48 'dataLayer', 49 'GTM-5LN9CFN' 50 ); 51</script>
vendor: 1 bytes, line 51
51
52<script type="text/javascript" 53 id="Cookiebot" 54 src="https://consent.cookiebot.com/uc.js" 55 data-implementation="wp" 56 data-cbid="16a8b85b-b0b0-46c4-bee2-b301cc2a87dd" 57 async ></script>
57 58<meta name='robots' content='index, follow, max-image-preview:large, max-snippet:-1, max-video-preview:-1' /> 59 60 <!-- This site is optimized with the Yoast SEO plugin v28.6 - https://yoast.com/product/yoast-seo-wordpress/ --> 61 <link rel="canonical" href="https://stardots.se/samd-development/" /> 62 <meta property="og:locale" content="en_US" /> 63 <meta property="og:type" content="article" /> 64 <meta property="og:title" content="Medical Device R&D - Stardots" /> 65 <meta property="og:url" content="https://stardots.se/samd-development/" /> 66 <meta property="og:site_name" content="Stardots" /> 67 <meta property="article:modified_time" content="2025-03-18T10:37:45+00:00" /> 68 <meta name="twitter:card" content="summary_large_image" /> 69
69<script type="application/ld+json" class="yoast-schema-graph">{"@context":"https:\/\/schema.org","@graph":[{"@type":"WebPage","@id":"https:\/\/stardots.se\/samd-development\/","url":"https:\/\/stardots.se\/samd-development\/","name":"Medical Device R&D - Stardots","isPartOf":{"@id":"https:\/\/stardots.se\/#website"},"datePublished":"2023-11-29T09:10:53+00:00","dateModified":"2025-03-18T10:37:45+00:00","breadcrumb":{"@id":"https:\/\/stardots.se\/samd-development\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/stardots.se\/samd-development\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/stardots.se\/samd-development\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/stardots.se\/"},{"@type":"ListItem","position":2,"name":"Medical Device R&D"}]},{"@type":"WebSite","@id":"https:\/\/stardots.se\/#website","url":"https:\/\/stardots.se\/","name":"Stardots","description":"","publisher":{"@id":"https:\/\/stardots.se\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/stardots.se\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Organization","@id":"https:\/\/stardots.se\/#organization","name":"Stardots","url":"https:\/\/stardots.se\/","logo":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/stardots.se\/#\/schema\/logo\/image\/","url":"https:\/\/stardots.se\/app\/uploads\/2025\/03\/stardots-logo-white.svg","contentUrl":"https:\/\/stardots.se\/app\/uploads\/2025\/03\/stardots-logo-white.svg","caption":"Stardots"},"image":{"@id":"https:\/\/stardots.se\/#\/schema\/logo\/image\/"}}]}</script>
69 70 <!-- / Yoast SEO plugin. --> 71 72 73 74<link rel="alternate" title="oEmbed (JSON)" type="application/json+oembed" href="https://stardots.se/wp-json/oembed/1.0/embed?url=https%3A%2F%2Fstardots.se%2Fsamd-development%2F" /> 75<link rel="alternate" title="oEmbed (XML)" type="text/xml+oembed" href="https://stardots.se/wp-json/oembed/1.0/embed?url=https%3A%2F%2Fstardots.se%2Fsamd-development%2F&format=xml" /> 76<style id="wp-img-auto-sizes-contain-inline-css"> 77img:is([sizes=auto i],[sizes^="auto," i]){contain-intrinsic-size:3000px 1500px} 78/*# sourceURL=wp-img-auto-sizes-contain-inline-css */ 79</style> 80<style id="wp-emoji-styles-inline-css"> 81 82 img.wp-smiley, img.emoji { 83 display: inline !important; 84 border: none !important; 85 box-shadow: none !important; 86 height: 1em !important; 87 width: 1em !important; 88 margin: 0 0.07em !important; 89 vertical-align: -0.1em !important; 90 background: none !important; 91 padding: 0 !important; 92 } 93/*# sourceURL=wp-emoji-styles-inline-css */ 94</style> 95<style id="wp-block-library-inline-css"> 96:root{--wp-block-synced-color:#7a00df;--wp-block-synced-color--rgb:122,0,223;--wp-bound-block-color:var(--wp-block-synced-color);--wp-editor-canvas-background:#ddd;--wp-admin-theme-color:#007cba;--wp-admin-theme-color--rgb:0,124,186;--wp-admin-theme-color-darker-10:#006ba1;--wp-admin-theme-color-darker-10--rgb:0,107,160.5;--wp-admin-theme-color-darker-20:#005a87;--wp-admin-theme-color-darker-20--rgb:0,90,135;--wp-admin-border-width-focus:2px}@media (min-resolution:192dpi){:root{--wp-admin-border-width-focus:1.5px}}.wp-element-button{cursor:pointer}:root .has-very-light-gray-background-color{background-color:#eee}:root .has-very-dark-gray-background-color{background-color:#313131}:root .has-very-light-gray-color{color:#eee}:root .has-very-dark-gray-color{color:#313131}:root .has-vivid-green-cyan-to-vivid-cyan-blue-gradient-background{background:linear-gradient(135deg,#00d084,#0693e3)}:root .has-purple-crush-gradient-background{background:linear-gradient(135deg,#34e2e4,#4721fb 50%,#ab1dfe)}:root .has-hazy-dawn-gradient-background{background:linear-gradient(135deg,#faaca8,#dad0ec)}:root .has-subdued-olive-gradient-background{background:linear-gradient(135deg,#fafae1,#67a671)}:root .has-atomic-cream-gradient-background{background:linear-gradient(135deg,#fdd79a,#004a59)}:root .has-nightshade-gradient-background{background:linear-gradient(135deg,#330968,#31cdcf)}:root .has-midnight-gradient-background{background:linear-gradient(135deg,#020381,#2874fc)}:root{--wp--preset--font-size--normal:16px;
96--wp--preset--font-size--huge:42px}.has-regular-font-size{font-size:1em}.has-larger-font-size{font-size:2.625em}.has-normal-font-size{font-size:var(--wp--preset--font-size--normal)}.has-huge-font-size{font-size:var(--wp--preset--font-size--huge)}:root .has-text-align-center{text-align:center}:root .has-text-align-left{text-align:left}:root .has-text-align-right{text-align:right}.has-fit-text{white-space:nowrap!important}#end-resizable-editor-section{display:none}.aligncenter{clear:both}.items-justified-left{justify-content:flex-start}.items-justified-center{justify-content:center}.items-justified-right{justify-content:flex-end}.items-justified-space-between{justify-content:space-between}.screen-reader-text{word-wrap:normal!important;border:0;clip-path:inset(50%);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px;word-break:normal!important}.screen-reader-text:focus{background-color:#ddd;clip-path:none;color:#444;display:block;font-size:1em;height:auto;left:5px;line-height:normal;padding:15px 23px 14px;text-decoration:none;top:5px;width:auto;z-index:100000}html :where(.has-border-color){border-style:solid}html :where([style^=border-color],[style*=";border-color"],[style*="; border-color"]){border-style:solid}html :where([style^=border-top-color],[style*=";border-top-color"],[style*="; border-top-color"]){border-top-style:solid}html :where([style^=border-right-color],[style*=";border-right-color"],[style*="; border-right-color"]){border-right-style:solid}html :where([style^=border-bottom-color],[style*=";border-bottom-color"],[style*="; border-bottom-color"]){border-bottom-style:solid}html :where([style^=border-left-color],[style*=";border-left-color"],[style*="; border-left-color"]){border-left-style:solid}html :where([style^=border-width],[style*=";border-width"],[style*="; border-width"]){border-style:solid}html :where([style^=border-top-width],[style*=";border-top-width"],[style*="; border-top-width"]){border-top-style:solid}html :where([style^=border-right-width],[style*=";border-right-width"],[style*="; border-right-width"]){border-right-style:solid}html :where([style^=border-bottom-width],[style*=";border-bottom-width"],[style*="; border-bottom-width"]){border-bottom-style:solid}html :where([style^=border-left-width],[style*=";border-left-width"],[style*="; border-left-width"]){border-left-style:solid}html :where(img[class*=wp-image-]){height:auto;max-width:100%}:where(figure){margin:0 0 1em}html :where(.is-position-sticky){--wp-admin--admin-bar--position-offset:var(--wp-admin--admin-bar--height,0px)}@media screen and (max-width:600px){html :where(.is-position-sticky){--wp-admin--admin-bar--position-offset:0px}} 97 98/*# sourceURL=/wp-includes/css/dist/block-library/common.min.css */ 99</style> 100<style id="classic-theme-styles-inline-css"> 101/*! This file is auto-generated */ 102.wp-block-button__link{color:#fff;background-color:#32373c;border-radius:9999px;box-shadow:none;text-decoration:none;padding:calc(.667em + 2px) calc(1.333em + 2px);font-size:1.125em}.wp-block-file__button{background:#32373c;color:#fff;text-decoration:none} 103/*# sourceURL=/wp-includes/css/classic-themes.min.css */ 104</style> 105 106<style id="global-styles-inline-css"> 107:root{--wp--preset--aspect-ratio--square: 1;--wp--preset--aspect-ratio--4-3: 4/3;--wp--preset--aspect-ratio--3-4: 3/4;--wp--preset--aspect-ratio--3-2: 3/2;--wp--preset--aspect-ratio--2-3: 2/3;--wp--preset--aspect-ratio--16-9: 16/9;--wp--preset--aspect-ratio--9-16: 9/16;--wp--preset--color--black: #000000;--wp--preset--color--cyan-bluish-gray: #abb8c3;--wp--preset--color--white: #ffffff;--wp--preset--color--pale-pink: #f78da7;--wp--preset--color--vivid-red: #cf2e2e;--wp--preset--color--luminous-vivid-orange: #ff6900;--wp--preset--color--luminous-vivid-amber: #fcb900;--wp--preset--color--light-green-cyan: #7bdcb5;--wp--preset--color--vivid-green-cyan: #00d084;--wp--preset--color--pale-cyan-blue: #8ed1fc;--wp--preset--color--vivid-cyan-blue: #0693e3;--wp--preset--color--vivid-purple: #9b51e0;--wp--preset--gradient--vivid-cyan-blue-to-vivid-purple: linear-gradient(135deg,rgb(6,147,227) 0%,rgb(155,81,224) 100%);--wp--preset--gradient--light-green-cyan-to-vivid-green-cyan: linear-gradient(135deg,rgb(122,220,180) 0%,rgb(0,208,130) 100%);--wp--preset--gradient--luminous-vivid-amber-to-luminous-vivid-orange: linear-gradient(135deg,rgb(252,185,
1070) 0%,rgb(255,105,0) 100%);--wp--preset--gradient--luminous-vivid-orange-to-vivid-red: linear-gradient(135deg,rgb(255,105,0) 0%,rgb(207,46,46) 100%);--wp--preset--gradient--very-light-gray-to-cyan-bluish-gray: linear-gradient(135deg,rgb(238,238,238) 0%,rgb(169,184,195) 100%);--wp--preset--gradient--cool-to-warm-spectrum: linear-gradient(135deg,rgb(74,234,220) 0%,rgb(151,120,209) 20%,rgb(207,42,186) 40%,rgb(238,44,130) 60%,rgb(251,105,98) 80%,rgb(254,248,76) 100%);--wp--preset--gradient--blush-light-purple: linear-gradient(135deg,rgb(255,206,236) 0%,rgb(152,150,240) 100%);--wp--preset--gradient--blush-bordeaux: linear-gradient(135deg,rgb(254,205,165) 0%,rgb(254,45,45) 50%,rgb(107,0,62) 100%);--wp--preset--gradient--luminous-dusk: linear-gradient(135deg,rgb(255,203,112) 0%,rgb(199,81,192) 50%,rgb(65,88,208) 100%);--wp--preset--gradient--pale-ocean: linear-gradient(135deg,rgb(255,245,203) 0%,rgb(182,227,212) 50%,rgb(51,167,181) 100%);--wp--preset--gradient--electric-grass: linear-gradient(135deg,rgb(202,248,128) 0%,rgb(113,206,126) 100%);--wp--preset--gradient--midnight: linear-gradient(135deg,rgb(2,3,129) 0%,rgb(40,116,252) 100%);--wp--preset--font-size--small: 13px;--wp--preset--font-size--medium: 20px;--wp--preset--font-size--large: 36px;--wp--preset--font-size--x-large: 42px;--wp--preset--spacing--20: 0.44rem;--wp--preset--spacing--30: 0.67rem;--wp--preset--spacing--40: 1rem;--wp--preset--spacing--50: 1.5rem;--wp--preset--spacing--60: 2.25rem;--wp--preset--spacing--70: 3.38rem;--wp--preset--spacing--80: 5.06rem;--wp--preset--shadow--natural: 6px 6px 9px rgba(0, 0, 0, 0.2);--wp--preset--shadow--deep: 12px 12px 50px rgba(0, 0, 0, 0.4);--wp--preset--shadow--sharp: 6px 6px 0px rgba(0, 0, 0, 0.2);--wp--preset--shadow--outlined: 6px 6px 0px -3px rgb(255, 255, 255), 6px 6px rgb(0, 0, 0);--wp--preset--shadow--crisp: 6px 6px 0px rgb(0, 0, 0);}.wp-block-button{--wp--preset--dimension--25: 25%;--wp--preset--dimension--50: 50%;--wp--preset--dimension--75: 75%;--wp--preset--dimension--100: 100%;}:where(body) { margin: 0; }:where(.is-layout-flex){gap: 0.5em;}:where(.is-layout-grid){gap: 0.5em;}body .is-layout-flex{display: flex;}.is-layout-flex{flex-wrap: wrap;align-items: center;}.is-layout-flex > :is(*, div){margin: 0;}body .is-layout-grid{display: grid;}.is-layout-grid > :is(*, div){margin: 0;}body{padding-top: 0px;padding-right: 0px;padding-bottom: 0px;padding-left: 0px;}:root :where(.wp-element-button, .wp-block-button__link){background-color: #32373c;border-width: 0;color: #fff;font-family: inherit;font-size: inherit;font-style: inherit;font-weight: inherit;letter-spacing: inherit;line-height: inherit;padding-top: calc(0.667em + 2px);padding-right: calc(1.333em + 2px);padding-bottom: calc(0.667em + 2px);padding-left: calc(1.333em + 2px);text-decoration: none;text-transform: inherit;}.has-black-color{color: var(--wp--preset--color--black) !important;}.has-cyan-bluish-gray-color{color: var(--wp--preset--color--cyan-bluish-gray) !important;}.has-white-color{color: var(--wp--preset--color--white) !important;}.has-pale-pink-color{color: var(--wp--preset--color--pale-pink) !important;}.has-vivid-red-color{color: var(--wp--preset--color--vivid-red) !important;}.has-luminous-vivid-orange-color{color: var(--wp--preset--color--luminous-vivid-orange) !important;}.has-luminous-vivid-amber-color{color: var(--wp--preset--color--luminous-vivid-amber) !important;}.has-light-green-cyan-color{color: var(--wp--preset--color--light-green-cyan) !important;}.has-vivid-green-cyan-color{color: var(--wp--preset--color--vivid-green-cyan) !important;}.has-pale-cyan-blue-color{color: var(--wp--preset--color--pale-cyan-blue) !important;}.has-vivid-cyan-blue-color{color: var(--wp--preset--color--vivid-cyan-blue) !important;}.has-vivid-purple-color{color: var(--wp--preset--color--vivid-purple) !important;}.has-black-background-color{background-color: var(--wp--preset--color--black) !important;}.has-cyan-bluish-gray-background-color{background-color: var(--wp--preset--color--cyan-bluish-gray) !important;}.has-white-background-color{background-color: var(--wp--preset--color--white) !important;}.has-pale-pink-background-color{background-color: var(--wp--preset--color--pale-pink) !important;}.has-vivid-red-background-color{background-color: var(--wp--preset--color--vivid-red) !important;}.has-luminous-vivid-orange-background-color{background-color: var(--wp--preset--color--luminous-vivid-orange) !important;}.has-luminous-vivid-amber-background-color{background-color: var(--wp--preset--color--luminous-vivid-amber) !important;}.has-light-green-cyan-background-color{background-color: var(--wp--preset--color--light-green-cyan) !important;}.has-vivid-green-cyan-background-color{background-color: var(--wp--preset--color--vivid-green-cyan) !important;}.has-pale-cyan-blue-background-color{background-color: var(--wp--preset--color--pale-cyan-blue) !important;}.has-vivid-cyan-blue-background-color{background-color: var(--wp--preset--color--vivid-cyan-blue) !important;}.has-vivid-purple-background-color{background-color: var(--wp--preset--color--vivid-purple) !important;}.has-black-border-color{border-color: var(--wp--preset--color--black) !important;}.has-cyan-bluish-gray-border-color{border-color: var(--wp--preset--color--cyan-bluish-gray) !important;}.has-white-border-color{border-color: var(--wp--preset--color--white) !important;}.has-pale-pink-border-color{border-color: var(--wp--preset--color--pale-pink) !important;}.has-vivid-red-border-color{border-color: var(--wp--preset--color--vivid-red) !important;}.has-luminous-vivid-orange-border-color{border-color: var(--wp--preset--color--luminous-vivid-orange) !important;}.has-luminous-vivid-amber-border-color{border-color: var(--wp--preset--color--luminous-vivid-amber) !important;}.has-light-green-cyan-border-color{border-color: var(--wp--preset--color--light-green-cyan) !important;}.has-vivid-green-cyan-border-color{border-color: var(--wp--preset--color--vivid-green-cyan) !important;}.has-pale-cyan-blue-border-color{border-color: var(--wp--preset--color--pale-cyan-blue) !important;}.has-vivid-cyan-blue-border-color{border-color: var(--wp--preset--color--vivid-cyan-blue) !important;}.has-vivid-purple-border-color{border-color: var(--wp--preset--color--vivid-purple) !important;}.has-vivid-cyan-blue-to-vivid-purple-gradient-background{background: var(--wp--preset--gradient--vivid-cyan-blue-to-vivid-purple) !important;}.has-light-green-cyan-to-vivid-green-cyan-gradient-background{background: var(--wp--preset--gradient--light-green-cyan-to-vivid-green-cyan) !important;}.has-luminous-vivid-amber-to-luminous-vivid-orange-gradient-background{background: var(--wp--preset--gradient--luminous-vivid-amber-to-luminous-vivid-orange) !important;}.has-luminous-vivid-orange-to-vivid-red-gradient-background{background: var(--wp--preset--gradient--luminous-vivid-orange-to-vivid-red) !important;}
107.has-very-light-gray-to-cyan-bluish-gray-gradient-background{background: var(--wp--preset--gradient--very-light-gray-to-cyan-bluish-gray) !important;}.has-cool-to-warm-spectrum-gradient-background{background: var(--wp--preset--gradient--cool-to-warm-spectrum) !important;}.has-blush-light-purple-gradient-background{background: var(--wp--preset--gradient--blush-light-purple) !important;}.has-blush-bordeaux-gradient-background{background: var(--wp--preset--gradient--blush-bordeaux) !important;}.has-luminous-dusk-gradient-background{background: var(--wp--preset--gradient--luminous-dusk) !important;}.has-pale-ocean-gradient-background{background: var(--wp--preset--gradient--pale-ocean) !important;}.has-electric-grass-gradient-background{background: var(--wp--preset--gradient--electric-grass) !important;}.has-midnight-gradient-background{background: var(--wp--preset--gradient--midnight) !important;}.has-small-font-size{font-size: var(--wp--preset--font-size--small) !important;}.has-medium-font-size{font-size: var(--wp--preset--font-size--medium) !important;}.has-large-font-size{font-size: var(--wp--preset--font-size--large) !important;}.has-x-large-font-size{font-size: var(--wp--preset--font-size--x-large) !important;} 108/*# sourceURL=global-styles-inline-css */ 109</style> 110 111<link rel='stylesheet' id='main-css' href='https://stardots.se/app/themes/stardots/dist/css/main.css' media='all' />
112<script id="jquery-core-js" src="https://stardots.se/wp/wp-includes/js/jquery/jquery.min.js?ver=3.7.1"></script>
vendor: 1 bytes, line 112
112
113<script id="jquery-migrate-js" src="https://stardots.se/wp/wp-includes/js/jquery/jquery-migrate.min.js?ver=3.4.1"></script>
113 114<link rel="https://api.w.org/" href="https://stardots.se/wp-json/" /><link rel="alternate" title="JSON" type="application/json" href="https://stardots.se/wp-json/wp/v2/pages/4603" /><link rel='shortlink' href='https://stardots.se/?p=4603' /> 115<link rel='stylesheet' id='contact-form-7-css' href='https://stardots.se/app/plugins/contact-form-7/includes/css/styles.css?ver=6.2.1' media='all' /> 116 117<style id="rocket-lazyrender-inline-css">[data-wpr-lazyrender] {content-visibility: auto;}</style><meta name="generator" content="WP Rocket 3.23.5.1" data-wpr-features="wpr_preconnect_external_domains wpr_automatic_lazy_rendering wpr_oci wpr_image_dimensions wpr_cdn wpr_preload_links wpr_desktop" /></head> 118<body class="wp-singular page-template-default page page-id-4603 wp-custom-logo wp-theme-stardots cmatic-098116"> 119 <header class="c-header alignfull"> 120 <div class="header__container"> 121 <div class="header__topbar grid"> 122 <a href="https://stardots.se/" class="custom-logo-link" rel="home"><img width="216" height="51" src="https://stardots.se/app/uploads/2025/03/stardots-logo-white.svg" class="custom-logo" alt="Stardots" decoding="async" /></a> <button class="navigation__menu-btn js-nav"> 123 <span class="nav-btn__icon"> 124 <span class="icon__bar icon__bar--top"></span> 125 <span class="icon__bar icon__bar--bottom"></span> 126 </span> 127 </button> 128 <nav class="header__navigation"> 129 <ul id="menu-main-menu" class="navigation__list"><li id="menu-item-5203" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-home menu-item-5203"><a href="https://stardots.se/" title="Home">Home</a></li> 130<li id="menu-item-4859" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-4859"><a href="https://stardots.se/development-pipeline/" title="Pipeline">Pipeline</a></li> 131<li id="menu-item-4658" class="menu-item menu-item-type-post_type menu-item-object-page current-menu-item page_item page-item-4603 current_page_item is-current menu-item-4658"><a href="https://stardots.se/samd-development/" title="Medical Device R&D">Medical Device R&D</a></li> 132<li id="menu-item-4864" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-4864"><a href="https://stardots.se/technologies/" title="Technologies">Technologies</a></li> 133<li id="menu-item-674" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-674"><a href="https://stardots.se/careers/" title="Careers">Careers</a></li> 134<li id="menu-item-504" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-504"><a href="https://stardots.se/news/" title="News">News</a></li> 135<li id="menu-item-677" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-677"><a href="https://stardots.se/about-us/" title="About us">About us</a></li> 136</ul> </nav> 137 </div> 138 </div> 139</header> 140<main > 141 <div id="hero-block_354536e6beada0337cee596b18eb5962" class="b-hero hero hero--dark row--dark hero--landing alignwide hero--text-alignment-center"> 142 <div class="hero__container " > 143 <div class="grid"> 144 <div class="grid__container grid__container--center"> 145 <div class="hero__content "> 146 <h1 class="hero__title"> 147 From science to optimized care </h1> 148 <div class="hero__text preamble"> 149 <p>Bespoke SaMD development, ready to scale with your needs. Enter with an idea, an unmet clinical need or an algorithm. Leave with a product ready for market.</p> 150 </div> 151 <a href="https://stardots.se/partner-with-us/" class="hero__button c-button button--coral button--outline " title="Co-develop with us"> 152 Co-develop with us </a> 153 </div> 154 </div> 155 </div> 156 </div> 157 </div> 158 159 160 161 <div 162 id="media-block_72aae9bd14b7074bae9f9898bc1f8bc5"
163 class="b-media row--dark alignwide media--image" 164 > 165 <div class="grid media__container"> 166 <div class="media__content"> 167 <img fetchpriority="high" decoding="async" width="1918" height="528" src="https://stardots.se/app/uploads/2025/03/Ball-Phase1-Wide.webp" class="attachment-grid_full size-grid_full" alt="" data-object-fit="cover" srcset="https://stardots.se/app/uploads/2025/03/Ball-Phase1-Wide.webp 1918w, https://stardots.se/app/uploads/2025/03/Ball-Phase1-Wide-300x83.webp 300w, https://stardots.se/app/uploads/2025/03/Ball-Phase1-Wide-1024x282.webp 1024w, https://stardots.se/app/uploads/2025/03/Ball-Phase1-Wide-768x211.webp 768w, https://stardots.se/app/uploads/2025/03/Ball-Phase1-Wide-1536x423.webp 1536w, https://stardots.se/app/uploads/2025/03/Ball-Phase1-Wide-1240x341.webp 1240w, https://stardots.se/app/uploads/2025/03/Ball-Phase1-Wide-960x264.webp 960w" sizes="(max-width: 1918px) 100vw, 1918px" /> </div> 168 </div> 169 </div> 170 171 172 <div id="featured-list-block_b7d1a7f975d0f56ce00600feac1ba68d" class="b-featured-list featured-list row alignwide featured-list--layout-3-col row--beige-light" > 173 <div class="featured-list__content grid"> 174 <h2>Guide therapy with real-world data</h2> 175 <ul class="featured-list__items"> 176 <li class="featured-list__item"> 177 <div class="item__image"> 178 <img decoding="async" width="640" height="240" src="https://stardots.se/app/uploads/2025/03/Stardots_Webicon_Digitalbiomarker-Coral-1-1.png" class="attachment-grid_content size-grid_content" alt="" data-object-fit="cover" srcset="https://stardots.se/app/uploads/2025/03/Stardots_Webicon_Digitalbiomarker-Coral-1-1.png 640w, https://stardots.se/app/uploads/2025/03/Stardots_Webicon_Digitalbiomarker-Coral-1-1-300x113.png 300w" sizes="(max-width: 640px) 100vw, 640px" /> </div> 179 <div class="item__content"> 180 <h3 class="heading-5"> 181 Digital biomarkers </h3> 182 <p class="item__text"> 183 Clinically validated digital 184biomarkers support diagnosis 185with fast, detailed, and objective 186symptom quantification. </p> 187 </div> 188 189 </li> 190 <li class="featured-list__item"> 191 <div class="item__image"> 192 <img decoding="async" width="640" height="240" src="https://stardots.se/app/uploads/2025/03/Stardots_Webicon_Clinicalmonitoring-Coral-1-1.png" class="attachment-grid_content size-grid_content" alt="" data-object-fit="cover" srcset="https://stardots.se/app/uploads/2025/03/Stardots_Webicon_Clinicalmonitoring-Coral-1-1.png 640w, https://stardots.se/app/uploads/2025/03/Stardots_Webicon_Clinicalmonitoring-Coral-1-1-300x113.png 300w" sizes="(max-width: 640px) 100vw, 640px" /> </div> 193 <div class="item__content"> 194 <h3 class="heading-5"> 195 Clinical monitoring </h3> 196 <p class="item__text"> 197 Automatic tracking of multiple digital biomarkers over time provides insight into patient treatment response. </p> 198 </div> 199 200 </li> 201 <li class="featured-list__item"> 202 <div class="item__image"> 203 <img loading="lazy" decoding="async" width="300" height="113" src="https://stardots.se/app/uploads/2025/03/Stardots_Webicon_Treatmentoptimization-Coral-300x113-1-1.png" class="attachment-grid_content size-grid_content" alt="" data-object-fit="cover" /> </div> 204 <div class="item__content"> 205 <h3 class="heading-5"> 206 Treatment optimization </h3> 207 <p class="item__text"> 208 Clinical decision support algorithms enable evidence-based treatment guidance. </p> 209 </div> 210 211 </li> 212 </ul> 213 </div> 214 </div> 215 216 217 <div id="pattern-block_23993a59e21a2f0b2d3d32976ede6357" class="b-pattern pattern row alignwide row--white pattern--height-2"> 218 <div class="grid"> 219 <div class="grid__container pattern__container" style="height: 70px"></div> 220 </div> 221 </div> 222 223 224 <div id="text-editor-block_11ef02197130b29552db5f1e0de03e27" class="b-text-editor text-editor row--dark alignslim text-editor--left"> 225 <div class="grid"> 226 <div class="text-editor__content c-wysiwyg"> 227 <h2><span style="color: #ebedee;">Harness the power of sensors</span></h2> 228<p>Transform raw signals into healthcare insights. We help you turn everyday sensors into precise, clinical-grade tools. Extract meaningful data from motion, eye-tracking, and other physiological signalsâwithout relying on vast datasets. And without the risks of black box AI models that can introduce bias.</p> 229<p> </p> 230 </div> 231 </div> 232 </div> 233 234 235 <div 236 id="media-block_04a569dc0b746a24e35f19f51f21cf60" 237 class="b-media row--dark alignwide media--image media--alignment-left" 238 > 239 <div class="grid media__container"> 240 <div class="media__content"> 241 <img loading="lazy" decoding="async" width="860" height="326" src="https://stardots.se/app/uploads/2025/03/mobile_flat-2.png" class="attachment-grid_full size-grid_full" alt="" data-object-fit="cover" srcset="https://stardots.se/app/uploads/2025/03/mobile_flat-2.png 860w, https://stardots.se/app/uploads/2025/03/mobile_flat-2-300x114.png 300w, https://stardots.se/app/uploads/2025/03/mobile_flat-2-768x291.png 768w" sizes="auto, (max-width: 860px) 100v
241w, 860px" /> <div class="media__text alignslim" style="padding-top:"> 242 <p><span style="color: #ebedee;">ANLIVA® Hand Movement delivers consistent results using regular smartphone motion sensors.</span></p> 243 </div> 244 </div> 245 </div> 246 </div> 247 248 249 <div id="featured-list-block_d09255d2a5ee0e2eff08f6662cf74375" class="b-featured-list featured-list row alignwide featured-list--layout-3-col row--white" > 250 <div class="featured-list__content grid"> 251 <h2>Create, launch and scale at speed</h2> 252 <ul class="featured-list__items"> 253 <li class="featured-list__item"> 254 <div class="item__image"> 255 <img loading="lazy" decoding="async" width="640" height="240" src="https://stardots.se/app/uploads/2023/11/Scalable_blue.png" class="attachment-grid_content size-grid_content" alt="" data-object-fit="cover" srcset="https://stardots.se/app/uploads/2023/11/Scalable_blue.png 640w, https://stardots.se/app/uploads/2023/11/Scalable_blue-300x113.png 300w" sizes="auto, (max-width: 640px) 100vw, 640px" /> </div> 256 <div class="item__content"> 257 <h3 class="heading-5"> 258 Scalable </h3> 259 <p class="item__text"> 260 Adapt to changing traffic and usage needs. Scale from pilot to global launch on the same digital infrastructure. </p> 261 </div> 262 263 </li> 264 <li class="featured-list__item"> 265 <div class="item__image"> 266 <img loading="lazy" decoding="async" width="640" height="240" src="https://stardots.se/app/uploads/2023/11/Stardots_Webicon_Modular-Blue.png" class="attachment-grid_content size-grid_content" alt="" data-object-fit="cover" srcset="https://stardots.se/app/uploads/2023/11/Stardots_Webicon_Modular-Blue.png 640w, https://stardots.se/app/uploads/2023/11/Stardots_Webicon_Modular-Blue-300x113.png 300w" sizes="auto, (max-width: 640px) 100vw, 640px" /> </div> 267 <div class="item__content"> 268 <h3 class="heading-5"> 269 Modular </h3> 270 <p class="item__text"> 271 Easily add new SaMD modules. Our isolated microservice architecture streamlines updates and expansions. </p> 272 </div> 273 274 </li> 275 <li class="featured-list__item"> 276 <div class="item__image"> 277 <img loading="lazy" decoding="async" width="640" height="240" src="https://stardots.se/app/uploads/2023/11/Stardots_Webicon_RapidalgoB-Blue.png" class="attachment-grid_content size-grid_content" alt="" data-object-fit="cover" srcset="https://stardots.se/app/uploads/2023/11/Stardots_Webicon_RapidalgoB-Blue.png 640w, https://stardots.se/app/uploads/2023/11/Stardots_Webicon_RapidalgoB-Blue-300x113.png 300w" sizes="auto, (max-width: 640px) 100vw, 640px" /> </div> 278 <div class="item__content"> 279 <h3 class="heading-5"> 280 Rapid </h3> 281 <p class="item__text"> 282 Go from algorithm prototype to final microservice with our fast track. No code changes or porting needed. </p> 283 </div> 284 285 </li> 286 </ul> 287 </div> 288 </div> 289 290 291 <div id="pattern-block_23993a59e21a2f0b2d3d32976ede6357" class="b-pattern pattern row alignwide row--white pattern--height-2"> 292 <div class="grid"> 293 <div class="grid__container pattern__container" style="height: 70px"></div> 294 </div> 295 </div> 296 297 298 <div data-wpr-lazyrender="1" id="text-editor-block_3fca7b52ed0cf7461928c447477003a9" class="b-text-editor text-editor row--dark alignslim text-editor--left"> 299 <div class="grid"> 300 <div class="text-editor__content c-wysiwyg"> 301 <h2><span class="notion-enable-hover" style="color: #ebedee;" data-token-index="0">Take the smart route to regulatory approval</span></h2> 302<p><span class="notion-enable-hover" data-token-index="0">Combine agile development with clinical stringency. Track every iteration in line with regulatory demands â a digital quality system is deeply integrated into our process. And isolated microservices limit the need for documentation of product additions and changes. </span><!-- notionvc: 31cfdeb7-ba2d-4601-b8ca-9ac48004280f --></p> 303<p><!-- notionvc: 6a2b95d4-82da-45fa-8d2f-b3e756a3fa2a --></p> 304 </div> 305 </div> 306 </div> 307 308 309 <div id="testimonials-block_fae79f0b7ccb8982f9dbbeb699e89351" class="b-testimonials testimonials row row--coral-dark testimonials--coral-dark" data-animate > 310 <div class="testimonials__container grid "> 311 <div class="testimonials__content js-frame">
312 <ul class="testimonials__items js-slides"> 313 <li class="testimonials__item js-slide"> 314 <span class="item__quotationmark"> 315 <img width="184" height="132" decoding="async" src="https://stardots.se/app/themes/stardots/dist/assets/images/quote-icon.png" /> 316 </span> 317 <div class="item__text"> 318 <p>There is a huge need for incorporating computerized selection and adjustment of DBS leads given the infinite possibilities that the neurologist has to deal with in reality of clinical practice. The current paradigm of adjusting DBS parameters is often based on a lengthy and manual trial-and-error procedure that depends on the subjective expertise of the clinician. Now that we started working on and planning for the clinical trial using ANLIVA DBS, that possibility became closer to actual application than ever.</p> 319 </div> 320 <div class="item__author"> 321 <!-- --> 322 <div class="item-info__container"> 323 <span class="item__name"> 324 Anas Hannoun </span> 325 <span class="item__jobtitle"> 326 MD Clinical Assistant Professor of Neurology, Movement Disorders at Geisel School of Medicine at Dartmouth </span> 327 </div> 328 </div> 329 </li> 330 </ul> 331 </div> 332 </div> 333 </div> 334 335 336 <div data-wpr-lazyrender="1" id="form-block_dc5d73dd62503229462b451e7275bb05" class="b-form form row alignwide row--beige-light"> 337 <div class="grid"> 338 <div class="form__container grid__container"> 339 <h2 class="form__title heading-3"> 340 Stay up-to-date </h2> 341 <div class="form__text"> 342 <p>Sign up to receive updates on our latest developments.</p> 343 </div> 344 <div class="form__wpcf7"> 345 346<div class="wpcf7 no-js" id="wpcf7-f656-p4603-o1" lang="en-US" dir="ltr" data-wpcf7-id="656"> 347<div class="screen-reader-response"><p role="status" aria-live="polite" aria-atomic="true"></p> <ul></ul></div> 348<form action="/samd-development/#wpcf7-f656-p4603-o1" method="post" class="wpcf7-form init faaa1ddaedd8 cmatic-conn cmatic-aud-2 cmatic-mapd0-0 cmatic-098116 cmatic-sent-0 cmatic-total-52" aria-label="Contact form" novalidate="novalidate" data-status="init"> 349<fieldset class="hidden-fields-container"><input type="hidden" name="_wpcf7" value="656" /><input type="hidden" name="_wpcf7_version" value="6.2.1" /><input type="hidden" name="_wpcf7_locale" value="en_US" /><input type="hidden" name="_wpcf7_unit_tag" value="wpcf7-f656-p4603-o1" /><input type="hidden" name="_wpcf7_container_post" value="4603" /><input type="hidden" name="_wpcf7_posted_data_hash" value="" /><input type="hidden" name="_wpcf7_recaptcha_response" value="" /> 350</fieldset> 351<label> Email 352 <span class="wpcf7-form-control-wrap" data-name="your-email"><input size="40" maxlength="400" class="wpcf7-form-control wpcf7-email wpcf7-validates-as-required wpcf7-text wpcf7-validates-as-email" aria-required="true" aria-invalid="false" value="" type="email" name="your-email" /></span> </label> 353 354<span class="wpcf7-form-control-wrap" data-name="marketing-consent"><span class="wpcf7-form-control wpcf7-acceptance"><span class="wpcf7-list-item"><label><input type="checkbox" name="marketing-consent" value="1" aria-invalid="false" /><span class="wpcf7-list-item-label">I would like to subscribe news and product updates from Stardots.</span></label></span></span></span> 355 356<p class="privacy-policy">For information on how we process your data and protect your privacy, read our <a href="/privacy-policy">Privacy Policy</a>.</p> 357 358<input class="wpcf7-form-control wpcf7-submit has-spinner" type="submit" value="Sign up" /><div class="wpcf7-response-output" aria-hidden="true"></div> 359</form> 360</div> 361 </div> 362 </div> 363 </div> 364 </div> 365 </main> 366 <footer class="c-footer alignfull">
367 <div class="footer__container grid"> 368 <div class="footer__logo"> 369 <svg class="svg-icon"> 370 <use xlink:href="https://stardots.se/app/themes/stardots/dist/assets/svg/ui.svg#logo-white-test"></use> 371 </svg> 372 </div> 373 <div class="footer__item footer__item--text"> 374 <!-- <h2 class="footer__item-title"> 375 Our Mission </h2> --> 376 <p>Digital health solutions from compassionate hearts and bright minds.</p> 377 </div> 378 <div class="footer__item"> 379 <h2 class="footer__item-title"> 380 Menu </h2> 381 <ul class="footer__item-list"><li id="menu-item-4929" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-4929"><a href="https://stardots.se/development-pipeline/">Pipeline</a></li> 382<li id="menu-item-4657" class="menu-item menu-item-type-post_type menu-item-object-page current-menu-item page_item page-item-4603 current_page_item menu-item-4657"><a href="https://stardots.se/samd-development/" aria-current="page">Medical Device R&D</a></li> 383<li id="menu-item-4930" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-4930"><a href="https://stardots.se/technologies/">Technologies</a></li> 384<li id="menu-item-2621" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-2621"><a href="https://stardots.se/careers/">Careers</a></li> 385<li id="menu-item-51" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-51"><a href="https://stardots.se/news/">News</a></li> 386<li id="menu-item-54" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-54"><a href="https://stardots.se/about-us/">About us</a></li> 387<li id="menu-item-3462" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-privacy-policy menu-item-3462"><a rel="privacy-policy" href="https://stardots.se/privacy-policy/">Privacy Policy</a></li> 388</ul> </div> 389 <div class="footer__item"> 390 <h2 class="footer__item-title"> 391 Partnerships </h2> 392 <ul class="footer__item-list"><li id="menu-item-5110" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-5110"><a href="https://stardots.se/anliva/partner-clinics/">Clinical co-development</a></li> 393<li id="menu-item-5111" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-5111"><a href="https://stardots.se/partner-with-us/">Research and pharma co-development</a></li> 394</ul> </div> 395 <div class="footer__item item--contact"> 396 <h2 class="footer__item-title"> 397 Contact </h2> 398 <p>Stardots AB</p> 399<p>Sweden (HQ)</p> 400<p>Kungsängsvägen 31</p> 401<p>75323 Uppsala</p> 402<p><a href="mailto:[email protected]">[email protected]</a></p> 403 </div> 404 </div> 405 <!-- <div class="footer__copyright"> 406 <div class="grid"> 407 © 2026 Stardots 408 </div> 409 </div> --> 410</footer> 411
411<script type="speculationrules"> 412{"prefetch":[{"source":"document","where":{"and":[{"href_matches":"/*"},{"not":{"href_matches":["/wp/wp-*.php","/wp/wp-admin/*","/app/uploads/*","/app/*","/app/plugins/*","/app/themes/stardots/*","/*\\?(.+)"]}},{"not":{"selector_matches":"a[rel~=\"nofollow\"]"}},{"not":{"selector_matches":".no-prefetch, .no-prefetch a"}}]},"eagerness":"conservative"}]} 413</script>
vendor: 1 bytes, line 413
413
414<script id="rocket-browser-checker-js-after"> 415"use strict";var _createClass=function(){function defineProperties(target,props){for(var i=0;i<props.length;i++){var descriptor=props[i];descriptor.enumerable=descriptor.enumerable||!1,descriptor.configurable=!0,"value"in descriptor&&(descriptor.writable=!0),Object.defineProperty(target,descriptor.key,descriptor)}}return function(Constructor,protoProps,staticProps){return protoProps&&defineProperties(Constructor.prototype,protoProps),staticProps&&defineProperties(Constructor,staticProps),Constructor}}();function _classCallCheck(instance,Constructor){if(!(instance instanceof Constructor))throw new TypeError("Cannot call a class as a function")}var RocketBrowserCompatibilityChecker=function(){function RocketBrowserCompatibilityChecker(options){_classCallCheck(this,RocketBrowserCompatibilityChecker),this.passiveSupported=!1,this._checkPassiveOption(this),this.options=!!this.passiveSupported&&options}return _createClass(RocketBrowserCompatibilityChecker,[{key:"_checkPassiveOption",value:function(self){try{var options={get passive(){return!(self.passiveSupported=!0)}};window.addEventListener("test",null,options),window.removeEventListener("test",null,options)}catch(err){self.passiveSupported=!1}}},{key:"initRequestIdleCallback",value:function(){!1 in window&&(window.requestIdleCallback=function(cb){var start=Date.now();return setTimeout(function(){cb({didTimeout:!1,timeRemaining:function(){return Math.max(0,50-(Date.now()-start))}})},1)}),!1 in window&&(window.cancelIdleCallback=function(id){return clearTimeout(id)})}},{key:"isDataSaverModeOn",value:function(){return"connection"in navigator&&!0===navigator.connection.saveData}},{key:"supportsLinkPrefetch",value:function(){var elem=document.createElement("link");return elem.relList&&elem.relList.supports&&elem.relList.supports("prefetch")&&window.IntersectionObserver&&"isIntersecting"in IntersectionObserverEntry.prototype}},{key:"isSlowConnection",value:function(){return"connection"in navigator&&"effectiveType"in navigator.connection&&("2g"===navigator.connection.effectiveType||"slow-2g"===navigator.connection.effectiveType)}}]),RocketBrowserCompatibilityChecker}(); 416//# sourceURL=rocket-browser-checker-js-after 417</script>
vendor: 1 bytes, line 417
417
418<script id="rocket-preload-links-js-extra"> 419var RocketPreloadLinksConfig = {"excludeUris":"/career/|/(?:.+/)?feed(?:/(?:.+/?)?)?$|/(?:.+/)?embed/|/(index.php/)?(.*)wp-json(/.*|$)|/refer/|/go/|/recommend/|/recommends/","usesTrailingSlash":"1","imageExt":"jpg|jpeg|gif|png|tiff|bmp|webp|avif|pdf|doc|docx|xls|xlsx|php","fileExt":"jpg|jpeg|gif|png|tiff|bmp|webp|avif|pdf|doc|docx|xls|xlsx|php|html|htm","siteUrl":"https://stardots.se","onHoverDelay":"100","rateThrottle":"3"}; 420//# sourceURL=rocket-preload-links-js-extra 421</script>
vendor: 1 bytes, line 421
421
422<script id="rocket-preload-links-js-after"> 423(function() { 424"use strict";var r="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},e=function(){function i(e,t){for(var n=0;n<t.length;n++){var i=t[n];i.enumerable=i.enumerable||!1,i.configurable=!0,"value"in i&&(i.writable=!0),Object.defineProperty(e,i.key,i)}}return function(e,t,n){return t&&i(e.prototype,t),n&&i(e,n),e}}();function i(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}var t=function(){function n(e,t){i(this,n),this.browser=e,this.config=t,this.options=this.browser.options,this.prefetched=new Set,this.eventTime=null,this.threshold=1111,this.numOnHover=0}return e(n,[{key:"init",value:function(){!this.browser.supportsLinkPrefetch()||this.browser.isDataSaverModeOn()||this.browser.isSlowConnection()||(this.regex={excludeUris:RegExp(this.config.excludeUris,"i"),images:RegExp(".("+this.config.imageExt+")$","i"),fileExt:RegExp(".("+this.config.fileExt+")$","i")},this._initListeners(this))}},{key:"_initListeners",value:function(e){-1<this.config.onHoverDelay&&document.addEventListener("mouseover",e.listener.bind(e),e.listenerOptions),document.addEventListener("mousedown",e.listener.bind(e),e.listenerOptions),document.addEventListener("touchstart",e.listener.bind(e),e.listenerOptions)}},{key:"listener",value:function(e){var t=e.target.closest("a"),n=this._prepareUrl(t);if(null!==n)switch(e.type){case"mousedown":case"touchstart":this._addPrefetchLink(n);break;case"mouseover":this._earlyPrefetch(t,n,"mouseout")}}},{key:"_earlyPrefetch",value:function(t,e,n){var i=this,r=setTimeout(function(){if(r=null,0===i.numOnHover)setTimeout(function(){return i.numOnHover=0},1e3);else if(i.numOnHover>i.config.rateThrottle)return;i.numOnHover++,i._addPrefetchLink(e)},this.config.onHoverDelay);t.addEventListener(n,function e(){t.removeEventListener(n,e,{passive:!0}),null!==r&&(clearTimeout(r),r=null)},{passive:!0})}},{key:"_addPrefetchLink",value:function(i){return this.prefetched.add(i.href),new Promise(function(e,t){var n=document.createElement("link");n.rel="prefetch",n.href=i.href,n.onload=e,n.onerror=t,document.head.appendChild(n)}).catch(function(){})}},{key:"_prepareUrl",value:function(e){if(null===e||"object"!==(void 0===e?"undefined":r(e))||!1 in e||-1===["http:","https:"].indexOf(e.protocol))return null;var t=e.href.substring(0,this.config.siteUrl.length),n=this._getPathname(e.href,t),i={original:e.href,protocol:e.protocol,origin:t,pathname:n,href:t+n};return this._isLinkOk(i)?i:null}},{key:"_getPathname",value:function(e,t){var n=t?e.substring(this.config.siteUrl.length):e;return n.startsWith("/")||(n="/"+n),this._shouldAddTrailingSlash(n)?n+"/":n}},{key:"_shouldAddTrailingSlash",value:function(e){return this.config.usesTrailingSlash&&!e.endsWith("/")&&!this.regex.fileExt.test(e)}},{key:"_isLinkOk",value:function(e){return null!==e&&"object"===(void 0===e?"undefined":r(e))&&(!this.prefetched.has(e.href)&&e.origin===this.config.siteUrl&&-1===e.href.indexOf("?")&&-1===e.href.indexOf("#")&&!this.regex.excludeUris.test(e.href)&&!this.regex.images.test(e.href))}}],[{key:"run",value:function(){"undefined"!=typeof RocketPreloadLinksConfig&&new n(new RocketBrowserCompatibilityChecker({capture:!0,passive:!0}),RocketPreloadLinksConfig).init()}}]),n}();t.run(); 425}()); 426 427//# sourceURL=rocket-preload-links-js-after 428</script>
vendor: 1 bytes, line 428
428
429<script id="main-js" src="https://stardots.se/app/themes/stardots/dist/js/main.js"></script>
vendor: 86 bytes, lines 429-430
429 430<script id="google-recaptcha-js" src="https://www.google.com/recaptcha/api.js?render=
4306Ld5GJUeAAAAAG_pIy2-Eni4NlrzEyrydncWHfE_
vendor: 25 bytes, line 430
430&ver=3.0"></script>
431<script id="wp-polyfill-js" src="https://stardots.se/wp/wp-includes/js/dist/vendor/wp-polyfill.min.js?ver=3.15.0"></script>
vendor: 1 bytes, line 431
431
432<script id="wpcf7-recaptcha-js-before"> 433var wpcf7_recaptcha = { 434 "sitekey": "6Ld5GJUeAAAAAG_pIy2-Eni4NlrzEyrydncWHfE_", 435 "actions": { 436 "homepage": "homepage", 437 "contactform": "contactform" 438 } 439}; 440//# sourceURL=wpcf7-recaptcha-js-before 441</script>
vendor: 1 bytes, line 441
441
442<script id="wpcf7-recaptcha-js" src="https://stardots.se/app/plugins/contact-form-7/modules/recaptcha/index.js?ver=6.2.1"></script>
vendor: 1 bytes, line 442
442
443<script id="wp-hooks-js" src="https://stardots.se/wp/wp-includes/js/dist/hooks.min.js?ver=f0f188028580e8dc1255"></script>
vendor: 1 bytes, line 443
443
444<script id="wp-i18n-js" src="https://stardots.se/wp/wp-includes/js/dist/i18n.min.js?ver=1dfe7db3940c23ea9216"></script>
vendor: 1 bytes, line 444
444
445<script id="wp-i18n-js-after"> 446wp.i18n.setLocaleData( { 'text direction\u0004ltr': [ 'ltr' ] } ); 447//# sourceURL=wp-i18n-js-after 448</script>
vendor: 1 bytes, line 448
448
449<script id="swv-js" src="https://stardots.se/app/plugins/contact-form-7/includes/swv/js/index.js?ver=6.2.1"></script>
vendor: 1 bytes, line 449
449
450<script id="contact-form-7-js-before"> 451var wpcf7 = { 452 "api": { 453 "root": "https:\/\/stardots.se\/wp-json\/", 454 "namespace": "contact-form-7\/v1" 455 }, 456 "cached": 1 457}; 458//# sourceURL=contact-form-7-js-before 459</script>
vendor: 1 bytes, line 459
459
460<script id="contact-form-7-js" src="https://stardots.se/app/plugins/contact-form-7/includes/js/index.js?ver=6.2.1"></script>
460 461 </body> 462</html> 463 464<!-- This website is like a Rocket, isn't it? Performance optimized by WP Rocket. Learn more: https://wp-rocket.me - Debug: cached@1791518127 -->
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.