CINXE.COM

Trustpilot Technology

<!DOCTYPE html><html xmlns:cc="http://creativecommons.org/ns#"><head prefix="og: http://ogp.me/ns# fb: http://ogp.me/ns/fb# medium-com: http://ogp.me/ns/fb/medium-com#"><meta http-equiv="Content-Type" content="text/html; charset=utf-8"><meta name="viewport" content="width=device-width, initial-scale=1.0, viewport-fit=contain"><title>Trustpilot Technology</title><link rel="canonical" href="https://tech.trustpilot.com"><link id="feedLink" rel="alternate" type="application/rss+xml" title="RSS" href="https://tech.trustpilot.com/feed"><meta name="robots" content="index,follow"><meta name="title" content="Trustpilot Technology"><meta name="referrer" content="unsafe-url"><meta name="description" content="How we work to make the world more transparent."><meta name="keywords" content="TRUSTPILOT, TECHNOLOGY, AI, SOFTWARE ENGINEERING, ONLINE REVIEWS"><meta name="theme-color" content="#000000"><meta property="og:title" content="Trustpilot Technology"><meta property="twitter:title" content="Trustpilot Technology"><meta property="og:url" content="https://tech.trustpilot.com/"><meta property="og:image" content="https://cdn-images-1.medium.com/max/1200/1*NdgVkRGY2UbLt_YGZSLEog.png"><meta property="fb:app_id" content="542599432471018"><meta property="og:description" content="How we work to make the world more transparent."><meta name="twitter:description" content="How we work to make the world more transparent."><meta name="twitter:image:src" content="https://cdn-images-1.medium.com/max/1200/1*NdgVkRGY2UbLt_YGZSLEog.png"><meta property="og:type" content="medium-com:collection"><meta name="twitter:card" content="summary_large_image"><meta property="medium-com:creator" content="https://tech.trustpilot.com/@dev.accounts"><meta name="twitter:site" content="@Trustpilot"><meta property="og:site_name" content="Trustpilot Technology"><meta name="twitter:app:name:iphone" content="Medium"><meta name="twitter:app:id:iphone" content="828256236"><meta name="twitter:app:url:iphone" content="medium://trustpilot-tech"><meta property="al:ios:app_name" content="Medium"><meta property="al:ios:app_store_id" content="828256236"><meta property="al:android:package" content="com.medium.reader"><meta property="al:android:app_name" content="Medium"><meta property="al:ios:url" content="medium://trustpilot-tech"><meta property="al:android:url" content="medium://trustpilot-tech"><meta property="al:web:url" content="https://tech.trustpilot.com/"><link rel="search" type="application/opensearchdescription+xml" title="Medium" href="/osd.xml" /><link rel="alternate" href="android-app://com.medium.reader/https/medium.com/trustpilot-tech" /><script type="application/ld+json">{"@context": "http://schema.org", "@graph": [{"@type": "WebSite", "url": "https:\/\/tech.trustpilot.com", "name": "Trustpilot Technology", "alternateName": "How we work to make the world more transparent"},{"@type": "Organization", "url": "https:\/\/tech.trustpilot.com", "name": "Trustpilot Technology"}]}</script><link rel="stylesheet" href="https://cdn-static-1.medium.com/_/fp/css/main-branding-base.tWIMt8r3Nl52PPi9OfgcVw.12.css"><script>!function(n,e){var t,o,i,c=[],f={passive:!0,capture:!0},r=new Date,a="pointerup",u="pointercancel";function p(n,c){t||(t=c,o=n,i=new Date,w(e),s())}function s(){o>=0&&o<i-r&&(c.forEach(function(n){n(o,t)}),c=[])}function l(t){if(t.cancelable){var o=(t.timeStamp>1e12?new Date:performance.now())-t.timeStamp;"pointerdown"==t.type?function(t,o){function i(){p(t,o),r()}function c(){r()}function r(){e(a,i,f),e(u,c,f)}n(a,i,f),n(u,c,f)}(o,t):p(o,t)}}function w(n){["click","mousedown","keydown","touchstart","pointerdown"].forEach(function(e){n(e,l,f)})}w(n),self.perfMetrics=self.perfMetrics||{},self.perfMetrics.onFirstInputDelay=function(n){c.push(n),s()}}(addEventListener,removeEventListener);</script><script>document.domain = document.domain;</script><script>if (window.top !== window.self) window.location = 'about:blank';var OB_startTime = new Date().getTime(); var OB_loadErrors = []; function _onerror(e) { OB_loadErrors.push(e) }; if (document.addEventListener) document.addEventListener("error", _onerror, true); else if (document.attachEvent) document.attachEvent("onerror", _onerror); function _asyncScript(u) {var d = document, f = d.getElementsByTagName("script")[0], s = d.createElement("script"); s.type = "text/javascript"; s.async = true; s.src = u; f.parentNode.insertBefore(s, f);}function _asyncStyles(u) {var d = document, f = d.getElementsByTagName("script")[0], s = d.createElement("link"); s.rel = "stylesheet"; s.href = u; f.parentNode.insertBefore(s, f); return s}(new Image()).src = "/_/stat?event=pixel.load&origin=" + encodeURIComponent(location.origin);</script><script>window.ga=window.ga||function(){(ga.q=ga.q||[]).push(arguments)};ga.l=+new Date; ga("create", "G-7JY7T788PK", "auto", {"allowLinker": true, "legacyCookieDomain": window.location.hostname});ga("send", "pageview");</script><script async src="https://www.google-analytics.com/analytics.js"></script><script>(function () {var height = window.innerHeight || document.documentElement.clientHeight || document.body.clientHeight; var width = window.innerWidth || document.documentElement.clientWidth || document.body.clientWidth; document.write("<style>section.section-image--fullBleed.is-backgrounded {padding-top: " + Math.round(1.1 * height) + "px;}section.section-image--fullScreen.is-backgrounded, section.section-image--coverFade.is-backgrounded {min-height: " + height + "px; padding-top: " + Math.round(0.5 * height) + "px;}.u-height100vh {height: " + height + "px !important;}.u-height110vh {height: " + Math.round(1.1 * height) + "px !important;}.u-minHeight100vh {min-height: " + height + "px !important;}.u-maxHeight100vh {max-height: " + height + "px !important;}section.section-image--coverFade {height: " + height + "px;}.section-aspectRatioViewportPlaceholder, .section-aspectRatioViewportCropPlaceholder {max-height: " + height + "px;}.section-aspectRatioViewportBottomSpacer, .section-aspectRatioViewportBottomPlaceholder {max-height: " + Math.round(0.5 * height) + "px;}.zoomable:before {top: " + (-1 * height) + "px; left: " + (-1 * width) + "px; padding: " + height + "px " + width + "px;}</style>");})()</script><!--[if lt IE 9]><script charset="UTF-8" src="https://cdn-static-1.medium.com/_/fp/js/shiv.RI2ePTZ5gFmMgLzG5bEVAA.12.js"></script><![endif]--><link rel="icon" href="https://cdn-images-1.medium.com/fit/c/256/256/1*NdgVkRGY2UbLt_YGZSLEog.png" class="js-favicon"><link rel="apple-touch-icon" sizes="152x152" href="https://cdn-images-1.medium.com/fit/c/304/304/1*NdgVkRGY2UbLt_YGZSLEog.png"><link rel="apple-touch-icon" sizes="120x120" href="https://cdn-images-1.medium.com/fit/c/240/240/1*NdgVkRGY2UbLt_YGZSLEog.png"><link rel="apple-touch-icon" sizes="76x76" href="https://cdn-images-1.medium.com/fit/c/152/152/1*NdgVkRGY2UbLt_YGZSLEog.png"><link rel="apple-touch-icon" sizes="60x60" href="https://cdn-images-1.medium.com/fit/c/120/120/1*NdgVkRGY2UbLt_YGZSLEog.png"><link rel="mask-icon" href="https://cdn-static-1.medium.com/_/fp/icons/monogram-mask.KPLCSFEZviQN0jQ7veN2RQ.12.svg" color="#171717"></head><body itemscope class=" browser-ie os-windows v-unbound v-glyph v-glyph--m2-unbound-source-serif-pro is-noJs"><script>document.body.className = document.body.className.replace(/(^|\s)is-noJs(\s|$)/, "$1is-js$2")</script><div class="site-main" id="container"><div class="butterBar butterBar--error"></div><div class="surface"><div id="prerendered" class="screenContent"><div class="metabar u-clearfix u-textColorTransparentWhiteDarker u-tintBgColor u-tintSpectrum js-metabar"><div class="branch-journeys-top"></div><div class="js-metabarMiddle metabar-inner u-marginAuto u-maxWidth1032 u-flexCenter u-justifyContentSpaceBetween u-height65 u-xs-height56 u-paddingHorizontal20"><div class="metabar-block u-flex1 u-flexCenter"><div class="js-metabarLogoLeft"><a href="https://medium.com/" data-log-event="home" class="siteNav-logo u-fillWhite u-flex0 u-flexCenter u-paddingTop0"><span class="svgIcon svgIcon--wordmarkMedium svgIcon--120x26px u-flex"><svg class="svgIcon-use" width="120" height="26" ><path d="M29.57 1.404l.036-.008V1.12h-7.27l-6.75 15.979-6.75-15.98H1.003v.278l.035.008c1.327.302 2 .752 2 2.374v18.993c0 1.623-.676 2.073-2.003 2.374L1 25.153v.279h5.315v-.278l-.035-.008c-1.327-.302-2-.751-2-2.374V4.88l8.67 20.552h.492l8.924-21.125V23.24c-.114 1.282-.782 1.677-1.983 1.95l-.036.009v.275h9.259V25.2l-.036-.008c-1.203-.274-1.886-.67-2-1.95l-.006-19.464h.006c0-1.622.674-2.072 2-2.374zm4.23 12.582c.15-3.412 1.367-5.875 3.41-5.918.629.01 1.157.219 1.568.62.872.852 1.282 2.634 1.219 5.298h-6.198zm-.092.962h10.85v-.046c-.03-2.61-.78-4.64-2.228-6.033-1.25-1.204-3.103-1.867-5.048-1.867h-.043c-1.01 0-2.248.246-3.13.693a7.316 7.316 0 00-2.623 2.086c-1.185 1.479-1.903 3.477-2.078 5.724a13.717 13.717 0 00-.04.755c-.004.195-.005.39-.001.587.117 5.087 2.846 9.153 7.692 9.153 4.254 0 6.73-3.132 7.348-7.336l-.312-.11c-1.085 2.259-3.034 3.628-5.252 3.461-3.028-.228-5.347-3.32-5.137-7.066m23.122 6.893c-.356.85-1.099 1.319-2.094 1.319-.995 0-1.905-.689-2.552-1.939-.694-1.342-1.06-3.24-1.06-5.487 0-4.678 1.445-7.704 3.68-7.704.937 0 1.674.468 2.026 1.284v12.527zm7.198 3.335c-1.327-.316-2-.787-2-2.492V0l-8.062 2.392v.293l.05-.004c1.111-.09 1.866.064 2.304.472.343.32.51.809.51 1.498v3.11C56.033 7.25 55.088 7 53.94 7c-2.326 0-4.453.987-5.986 2.779-1.599 1.867-2.444 4.42-2.444 7.38 0 5.287 2.584 8.84 6.43 8.84 2.25 0 4.06-1.242 4.888-3.336v2.811h7.233v-.29l-.035-.008zM70.94 3.085c0-1.65-1.236-2.896-2.875-2.896-1.632 0-2.908 1.272-2.908 2.896 0 1.624 1.278 2.896 2.908 2.896 1.64 0 2.875-1.245 2.875-2.896zm1.903 22.092c-1.327-.316-2-.787-2-2.492h-.006V7.055l-7.234 2.092v.284l.043.004c1.566.14 1.994.683 1.994 2.525v13.515h7.24v-.29l-.037-.008zm18.536 0c-1.327-.316-2-.787-2-2.492V7.055L82.49 9.078v.285l.04.004c1.28.136 1.65.71 1.65 2.56v9.88c-.426.85-1.227 1.356-2.196 1.39-1.573 0-2.439-1.07-2.439-3.012V7.055l-7.234 2.092v.284l.044.004c1.565.14 1.994.683 1.994 2.525v8.362a9.443 9.443 0 00.15 1.741l.13.57C75.243 24.845 76.848 26 79.362 26c2.129 0 3.996-1.328 4.818-3.405v2.885h7.233v-.291l-.034-.012zm28.102.298v-.291l-.035-.009c-1.44-.334-2.001-.964-2.001-2.248V12.295C117.445 8.98 115.597 7 112.5 7c-2.257 0-4.16 1.314-4.893 3.36-.582-2.168-2.257-3.36-4.734-3.36-2.175 0-3.88 1.156-4.612 3.11V7.056l-7.233 2.006v.286l.043.004c1.547.138 1.994.697 1.994 2.492v13.631h6.75v-.29l-.037-.01c-1.148-.271-1.519-.767-1.519-2.04V10.95c.304-.715.917-1.562 2.127-1.562 1.504 0 2.266 1.05 2.266 3.116v12.972h6.751v-.29l-.035-.01c-1.149-.271-1.52-.767-1.52-2.04V12.294a7.107 7.107 0 00-.095-1.21c.322-.777.97-1.696 2.23-1.696 1.524 0 2.265 1.02 2.265 3.116v12.972h7.233z"/></svg></span><span class="u-textScreenReader">Homepage</span></a></div><div class="u-paddingLeft10 u-sm-show r-paddingRight10"><a href="https://rsci.app.link/?%24canonical_url=https%3A%2F%2Fmedium.com/trustpilot-tech%3F~feature=LoMobileNavBar&~channel=ShowCollectionHome&~stage=m2">Open in app</a></div></div><div class="metabar-block u-flex0 u-flexCenter"><div class="u-flexCenter u-height65 u-xs-height56"><div class="buttonSet buttonSet--wide u-lineHeightInherit"><a class="button button--primary button--light button--chromeless u-accentColor--buttonNormal is-inSiteNavBar u-xs-hide js-signInButton" href="https://medium.com/m/signin?redirect=https%3A%2F%2Ftech.trustpilot.com%2F&amp;source=--------------------------nav_reg&amp;operation=login" data-action="sign-in-prompt" data-redirect="https://tech.trustpilot.com/" data-action-source="--------------------------nav_reg">Sign in</a><a class="button button--primary button--light button--withChrome u-accentColor--buttonNormal is-inSiteNavBar js-signUpButton" href="https://medium.com/m/signin?redirect=https%3A%2F%2Ftech.trustpilot.com%2F&amp;source=--------------------------nav_reg&amp;operation=register" data-action="sign-up-prompt" data-redirect="https://tech.trustpilot.com/" data-action-source="--------------------------nav_reg">Get started</a></div></div></div></div></div><div class="metabar metabar--spacer js-metabarSpacer u-tintBgColor u-height65 u-xs-height56"></div><div class="collectionHeader js-collectionHeaderContainer u-relative collectionHeader--layoutSmall collectionHeader--alignmentLeft collectionHeader--withLogo collectionHeader--withoutBackground collectionHeader--colorBehaviorBold collectionHeader--withNavigation collectionHeader--editorLayoutLogo is-modeView is-whiteLabel u-tintBgColor"><div class="collectionHeader-aspectRatioTable"><div class="collectionHeader-aspectRatioContent u-backgroundSizeCover js-collectionHeaderBackground"><div class="collectionHeader-overlayBackground u-height100vh"></div><header class="collectionHeader-heroAndInlineNav u-borderBox u-maxWidth1072 u-paddingLeft20 u-paddingRight20 u-marginAuto u-foreground js-collectionHeader"><div class="collectionHeader-hero js-collectionHeaderHero u-clearfix u-tintSpectrum"><div class="collectionHeader-heroInner"><div class="collectionHeader-logo js-collectionHeaderLogo" style="width: 146px; float: left;"><a class="link u-baseColor--link" href="https://tech.trustpilot.com" title="Go to Trustpilot Technology" aria-label="Go to Trustpilot Technology" data-collection-slug="trustpilot-tech"><div class="u-relative u-marginAuto"><div style="padding-bottom: 24.603174603174605%"></div><img class="collectionHeader-logoImage js-collectionHeaderLogoImage" src="https://cdn-images-1.medium.com/max/292/1*wjsfWssyBBLzMPQQMQBPTQ@2x.png" data-image-id="1*wjsfWssyBBLzMPQQMQBPTQ@2x.png" data-width="1134" data-height="279" /></div></a></div><div class="collectionHeader-nameAndDescription u-hide"><a class="link u-baseColor--link" href="https://tech.trustpilot.com" title="Go to Trustpilot Technology" aria-label="Go to Trustpilot Technology" data-collection-slug="trustpilot-tech"><h1 class="collectionHeader-name js-collectionName">Trustpilot Technology</h1></a><h2 class="collectionHeader-description js-collectionDescription">How we work to make the world more transparent</h2></div></div></div><nav class="collectionHeader-nav u-clearfix js-collectionHeaderNav u-lineHeight40 u-overflowHiddenY u-flex1 u-tintSpectrum"><div class="buttonSet u-flex1 u-noWrap u-overflowX u-paddingBottom100 u-xs-marginRight15"><li class="collectionHeader-navItem js-collectionNavItem u-inlineBlock u-fontSize13 u-textUppercase u-letterSpacing1px u-textColorNormal u-xs-paddingRight12 u-xs-marginRight0"><a class="link link--darken u-accentColor--textDarken link--noUnderline u-baseColor--link js-navItemLink" href="https://tech.trustpilot.com/tagged/engineering">Engineering</a></li><li class="collectionHeader-navItem js-collectionNavItem u-inlineBlock u-fontSize13 u-textUppercase u-letterSpacing1px u-textColorNormal u-xs-paddingRight12 u-xs-marginRight0"><a class="link link--darken u-accentColor--textDarken link--noUnderline u-baseColor--link js-navItemLink" href="https://tech.trustpilot.com/tagged/product-management">Product Management</a></li><li class="collectionHeader-navItem js-collectionNavItem u-inlineBlock u-fontSize13 u-textUppercase u-letterSpacing1px u-textColorNormal u-xs-paddingRight12 u-xs-marginRight0"><a class="link link--darken u-accentColor--textDarken link--noUnderline u-baseColor--link js-navItemLink" href="https://tech.trustpilot.com/tagged/ux">UX/Design</a></li><li class="collectionHeader-navItem js-collectionNavItem u-inlineBlock u-fontSize13 u-textUppercase u-letterSpacing1px u-textColorNormal u-xs-paddingRight12 u-xs-marginRight0"><a class="link link--darken u-accentColor--textDarken link--noUnderline u-baseColor--link js-navItemLink" href="https://tech.trustpilot.com/tagged/data-science">Data Science</a></li></div><div class="buttonSet u-textAlignRight u-marginLeft18 u-flex0 u-noWrap"><label class="button button--small button--chromeless button--withIcon button--withSvgIcon inputGroup u-sm-hide metabar-predictiveSearch u-baseColor--buttonNormal u-baseColor--placeholderNormal" title="Search"><span class="svgIcon svgIcon--search svgIcon--25px u-baseColor--iconLight"><svg class="svgIcon-use" width="25" height="25" ><path d="M20.067 18.933l-4.157-4.157a6 6 0 10-.884.884l4.157 4.157a.624.624 0 10.884-.884zM6.5 11c0-2.62 2.13-4.75 4.75-4.75S16 8.38 16 11s-2.13 4.75-4.75 4.75S6.5 13.62 6.5 11z"/></svg></span><input class="js-predictiveSearchInput textInput textInput--rounded textInput--darkText u-baseColor--textNormal textInput--transparent" type="search" placeholder="Search" required="true" data-collection-id="8a738464d869" /></label><a class="button button--light button--chromeless is-touchIconBlackPulse u-baseColor--buttonLight button--withIcon button--withSvgIcon button--chromeless u-verticalAlignMiddle" href="https://twitter.com/Trustpilot" title="Visit “Trustpilot Technology” on X" aria-label="Visit “Trustpilot Technology” on X" rel="me" target="_blank"><span class="button-defaultState"><span class="svgIcon svgIcon--twitter svgIcon--25px"><svg class="svgIcon-use" width="25" height="25" fill="none" ><path d="M14.215 11.3l5.764-6.7h-1.366l-5.005 5.818L9.611 4.6H5l6.045 8.798L5 20.424h1.366l5.286-6.144 4.221 6.144h4.61L14.216 11.3zm-1.871 2.175l-.612-.876-4.874-6.97h2.098l3.933 5.625.613.876 5.112 7.312h-2.098l-4.172-5.966z" fill="#242424"/></svg></span></span></a><button class="button button--primary button--smallest u-noUserSelect button--withChrome u-accentColor--buttonNormal button--followCollection js-followCollectionButton" data-action="sign-up-prompt" data-sign-in-action="toggle-subscribe-collection" data-requires-token="true" data-redirect="https://medium.com/_/subscribe/collection/trustpilot-tech" data-action-source="header----8a738464d869----------------------follow_pub"><span class="button-label button-defaultState js-buttonLabel">Follow</span><span class="button-label button-activeState">Following</span></button></div></nav></header></div><div class="collectionHeader-aspectRatioCell"><div class="collectionHeader-aspectRatioFullWidth"></div></div></div></div><div class="u-marginBottom40 js-collectionStream"><div class="streamItem streamItem--section js-streamItem"><section class="u-marginTop30 u-xs-margin0 u-marginBottom15 u-maxWidth1032 u-sm-paddingLeft20 u-sm-paddingRight20 u-borderBox u-marginAuto"><div class="row u-marginTop30 u-marginLeftNegative12 u-marginRightNegative12"><div class="col u-xs-size12of12 js-trackPostPresentation u-paddingLeft12 u-marginBottom15 u-paddingRight15 u-size8of12" data-source="collection_home---4------0-----------------------" data-post-id="8875d3d80157" data-index="0"><div class="u-lineHeightBase postItem u-marginRight3"><a href="https://tech.trustpilot.com/unleashing-the-potential-of-generative-ai-building-an-ai-enabled-product-feature-8875d3d80157?source=collection_home---4------0-----------------------" data-action="open-post" data-action-value="https://tech.trustpilot.com/unleashing-the-potential-of-generative-ai-building-an-ai-enabled-product-feature-8875d3d80157?source=collection_home---4------0-----------------------" class="u-block u-xs-height170 u-height350 u-width100pct u-floatLeft u-backgroundSizeCover u-backgroundOriginBorderBox u-backgroundColorGrayLight u-borderLighter" style="background-image: url(&quot;https://cdn-images-1.medium.com/max/2000/1*RkMcg-27cCbiAt9oguVVng.png&quot;); background-position: 50% 50% !important;"><span class="u-textScreenReader">Unleashing the Potential of Generative AI: building an AI enabled product feature</span></a></div></div><div class="col u-xs-marginBottom10 u-paddingLeft9 u-paddingRight12 u-paddingTop0 u-sm-paddingTop20 u-paddingBottom25 u-size4of12 u-xs-size12of12 u-marginBottom30"><a class="" href="https://tech.trustpilot.com/unleashing-the-potential-of-generative-ai-building-an-ai-enabled-product-feature-8875d3d80157?source=collection_home---4------0-----------------------" data-action-source="collection_home---4------0-----------------------" data-post-id="8875d3d80157"><h3 class="u-contentSansBold u-lineHeightTightest u-xs-fontSize24 u-paddingBottom2 u-paddingTop5 u-fontSize32"><div class="u-letterSpacingTight u-lineHeightTighter u-breakWord u-textOverflowEllipsis u-lineClamp4 u-fontSize30 u-size12of12 u-xs-size12of12 u-xs-fontSize24">Unleashing the Potential of Generative AI: building an AI enabled product feature</div></h3><div class="u-contentSansThin u-lineHeightBaseSans u-fontSize24 u-xs-fontSize18 u-textColorNormal u-baseColor--textNormal"><div class="u-fontSize18 u-letterSpacingTight u-lineHeightTight u-marginTop7 u-textColorNormal u-baseColor--textNormal">How we introduced a generative AI product feature into the Trustpilot platform</div></div></a><div class="u-clearfix u-marginTop20"><div class="u-flexCenter"><div class="postMetaInline-avatar u-flex0"><a class="link u-baseColor--link avatar" href="https://tech.trustpilot.com/@jamiegeddes" data-action="show-user-card" data-action-value="3c1734d3aa56" data-action-type="hover" data-user-id="3c1734d3aa56" data-collection-slug="trustpilot-tech" dir="auto"><img src="https://cdn-images-1.medium.com/fit/c/72/72/1*EssrqFujSJp84YVZAFwp-Q.jpeg" class="avatar-image u-size36x36 u-xs-size32x32" alt="Go to the profile of Jamie Geddes"></a></div><div class="postMetaInline postMetaInline-authorLockup ui-captionStrong u-flex1 u-noWrapWithEllipsis"><a class="ds-link ds-link--styleSubtle link link--darken link--accent u-accentColor--textNormal u-accentColor--textDarken" href="https://tech.trustpilot.com/@jamiegeddes" data-action="show-user-card" data-action-value="3c1734d3aa56" data-action-type="hover" data-user-id="3c1734d3aa56" data-collection-slug="trustpilot-tech" dir="auto">Jamie Geddes</a><div class="ui-caption u-fontSize12 u-baseColor--textNormal u-textColorNormal js-postMetaInlineSupplemental"><time datetime="2024-07-02T10:26:01.581Z">Jul 2, 2024</time><span class="middotDivider u-fontSize12"></span><span class="readingTime" title="10 min read"></span></div></div></div></div></div></div><div class="row u-marginTop15 u-marginLeftNegative12 u-marginRightNegative12"><div class="col u-xs-size12of12 js-trackPostPresentation u-paddingLeft12 u-marginBottom15 u-paddingRight12 u-size4of12" data-source="collection_home---4------1-----------------------" data-post-id="1500726be1b2" data-index="1"><div class="u-lineHeightBase postItem"><a href="https://tech.trustpilot.com/aws-event-bridge-scheduler-as-a-workaround-to-sqs-fifo-queue-limitations-1500726be1b2?source=collection_home---4------1-----------------------" data-action="open-post" data-action-value="https://tech.trustpilot.com/aws-event-bridge-scheduler-as-a-workaround-to-sqs-fifo-queue-limitations-1500726be1b2?source=collection_home---4------1-----------------------" class="u-block u-xs-height170 u-height172 u-backgroundSizeCover u-backgroundOriginBorderBox u-backgroundColorGrayLight u-borderLighter" style="background-image: url(&quot;https://cdn-images-1.medium.com/max/800/1*yFzqysSPDKZa5SDJIVgIcA.png&quot;); background-position: 50% 50% !important;"><span class="u-textScreenReader">AWS Event Bridge Scheduler as a workaround to SQS Fifo queue limitations</span></a></div><div class="col u-xs-marginBottom10 u-paddingLeft0 u-paddingRight0 u-paddingTop15 u-marginBottom30"><a class="" href="https://tech.trustpilot.com/aws-event-bridge-scheduler-as-a-workaround-to-sqs-fifo-queue-limitations-1500726be1b2?source=collection_home---4------1-----------------------" data-action-source="collection_home---4------1-----------------------" data-post-id="1500726be1b2"><h3 class="u-contentSansBold u-lineHeightTightest u-xs-fontSize24 u-paddingBottom2 u-paddingTop5 u-fontSize32"><div class="u-letterSpacingTight u-lineHeightTighter u-breakWord u-textOverflowEllipsis u-lineClamp3 u-fontSize24">AWS Event Bridge Scheduler as a workaround to SQS Fifo queue limitations</div></h3><div class="u-contentSansThin u-lineHeightBaseSans u-fontSize24 u-xs-fontSize18 u-textColorNormal u-baseColor--textNormal"><div class="u-fontSize18 u-letterSpacingTight u-lineHeightTight u-marginTop7 u-textColorNormal u-baseColor--textNormal">Intro</div></div></a><div class="u-clearfix u-marginTop20"><div class="u-flexCenter"><div class="postMetaInline-avatar u-flex0"><a class="link u-baseColor--link avatar" href="https://tech.trustpilot.com/@cvetanov" data-action="show-user-card" data-action-value="74188c0bf1ba" data-action-type="hover" data-user-id="74188c0bf1ba" data-collection-slug="trustpilot-tech" dir="auto"><img src="https://cdn-images-1.medium.com/fit/c/72/72/2*mPS5Gcd9w6iNUKPrZmydpg.png" class="avatar-image u-size36x36 u-xs-size32x32" alt="Go to the profile of Cvetanov Goce"></a></div><div class="postMetaInline postMetaInline-authorLockup ui-captionStrong u-flex1 u-noWrapWithEllipsis"><a class="ds-link ds-link--styleSubtle link link--darken link--accent u-accentColor--textNormal u-accentColor--textDarken" href="https://tech.trustpilot.com/@cvetanov" data-action="show-user-card" data-action-value="74188c0bf1ba" data-action-type="hover" data-user-id="74188c0bf1ba" data-collection-slug="trustpilot-tech" dir="auto">Cvetanov Goce</a><div class="ui-caption u-fontSize12 u-baseColor--textNormal u-textColorNormal js-postMetaInlineSupplemental"><time datetime="2024-04-22T21:05:40.517Z">Apr 22, 2024</time><span class="middotDivider u-fontSize12"></span><span class="readingTime" title="5 min read"></span></div></div></div></div></div></div><div class="col u-xs-size12of12 js-trackPostPresentation u-paddingLeft12 u-marginBottom15 u-paddingRight12 u-size4of12" data-source="collection_home---4------2-----------------------" data-post-id="69faed925bc9" data-index="2"><div class="u-lineHeightBase postItem"><a href="https://tech.trustpilot.com/accelerating-aws-deployments-69faed925bc9?source=collection_home---4------2-----------------------" data-action="open-post" data-action-value="https://tech.trustpilot.com/accelerating-aws-deployments-69faed925bc9?source=collection_home---4------2-----------------------" class="u-block u-xs-height170 u-height172 u-backgroundSizeCover u-backgroundOriginBorderBox u-backgroundColorGrayLight u-borderLighter" style="background-image: url(&quot;https://cdn-images-1.medium.com/max/800/1*SbcK6_M0iZyTYGHlKSX70w.png&quot;); background-position: 50% 50% !important;"><span class="u-textScreenReader">Accelerating AWS deployments</span></a></div><div class="col u-xs-marginBottom10 u-paddingLeft0 u-paddingRight0 u-paddingTop15 u-marginBottom30"><a class="" href="https://tech.trustpilot.com/accelerating-aws-deployments-69faed925bc9?source=collection_home---4------2-----------------------" data-action-source="collection_home---4------2-----------------------" data-post-id="69faed925bc9"><h3 class="u-contentSansBold u-lineHeightTightest u-xs-fontSize24 u-paddingBottom2 u-paddingTop5 u-fontSize32"><div class="u-letterSpacingTight u-lineHeightTighter u-breakWord u-textOverflowEllipsis u-lineClamp3 u-fontSize24">Accelerating AWS deployments</div></h3><div class="u-contentSansThin u-lineHeightBaseSans u-fontSize24 u-xs-fontSize18 u-textColorNormal u-baseColor--textNormal"><div class="u-fontSize18 u-letterSpacingTight u-lineHeightTight u-marginTop7 u-textColorNormal u-baseColor--textNormal">How we implemented continuous deployment for existing AWS workloads</div></div></a><div class="u-clearfix u-marginTop20"><div class="u-flexCenter"><div class="postMetaInline-avatar u-flex0"><a class="link u-baseColor--link avatar" href="https://tech.trustpilot.com/@chrd" data-action="show-user-card" data-action-value="b0df41a007b6" data-action-type="hover" data-user-id="b0df41a007b6" data-collection-slug="trustpilot-tech" dir="auto"><img src="https://cdn-images-1.medium.com/fit/c/72/72/0*p4ITji0Yl2CBqCM6" class="avatar-image u-size36x36 u-xs-size32x32" alt="Go to the profile of Chris Dobson"></a></div><div class="postMetaInline postMetaInline-authorLockup ui-captionStrong u-flex1 u-noWrapWithEllipsis"><a class="ds-link ds-link--styleSubtle link link--darken link--accent u-accentColor--textNormal u-accentColor--textDarken" href="https://tech.trustpilot.com/@chrd" data-action="show-user-card" data-action-value="b0df41a007b6" data-action-type="hover" data-user-id="b0df41a007b6" data-collection-slug="trustpilot-tech" dir="auto">Chris Dobson</a><div class="ui-caption u-fontSize12 u-baseColor--textNormal u-textColorNormal js-postMetaInlineSupplemental"><time datetime="2024-02-28T14:07:07.536Z">Feb 28, 2024</time><span class="middotDivider u-fontSize12"></span><span class="readingTime" title="10 min read"></span></div></div></div></div></div></div><div class="col u-xs-size12of12 js-trackPostPresentation u-paddingLeft12 u-marginBottom15 u-paddingRight12 u-size4of12" data-source="collection_home---4------3-----------------------" data-post-id="ea63b47517be" data-index="3"><div class="u-lineHeightBase postItem"><a href="https://tech.trustpilot.com/setting-up-an-engineering-mentoring-program-at-trustpilot-ea63b47517be?source=collection_home---4------3-----------------------" data-action="open-post" data-action-value="https://tech.trustpilot.com/setting-up-an-engineering-mentoring-program-at-trustpilot-ea63b47517be?source=collection_home---4------3-----------------------" class="u-block u-xs-height170 u-height172 u-backgroundSizeCover u-backgroundOriginBorderBox u-backgroundColorGrayLight u-borderLighter" style="background-image: url(&quot;https://cdn-images-1.medium.com/max/800/1*8iqIDbAET-Uhi6_o83xNpQ.jpeg&quot;); background-position: 50% 50% !important;"><span class="u-textScreenReader">Setting up an Engineering Mentoring Program at Trustpilot</span></a></div><div class="col u-xs-marginBottom10 u-paddingLeft0 u-paddingRight0 u-paddingTop15 u-marginBottom30"><a class="" href="https://tech.trustpilot.com/setting-up-an-engineering-mentoring-program-at-trustpilot-ea63b47517be?source=collection_home---4------3-----------------------" data-action-source="collection_home---4------3-----------------------" data-post-id="ea63b47517be"><h3 class="u-contentSansBold u-lineHeightTightest u-xs-fontSize24 u-paddingBottom2 u-paddingTop5 u-fontSize32"><div class="u-letterSpacingTight u-lineHeightTighter u-breakWord u-textOverflowEllipsis u-lineClamp3 u-fontSize24">Setting up an Engineering Mentoring Program at Trustpilot</div></h3><div class="u-contentSansThin u-lineHeightBaseSans u-fontSize24 u-xs-fontSize18 u-textColorNormal u-baseColor--textNormal"><div class="u-fontSize18 u-letterSpacingTight u-lineHeightTight u-marginTop7 u-textColorNormal u-baseColor--textNormal">As a Staff Engineer at Trustpilot, I felt it was important to be able to help guide other engineers on their career paths by virtue of…</div></div></a><div class="u-clearfix u-marginTop20"><div class="u-flexCenter"><div class="postMetaInline-avatar u-flex0"><a class="link u-baseColor--link avatar" href="https://tech.trustpilot.com/@dwlk" data-action="show-user-card" data-action-value="c99234f0b681" data-action-type="hover" data-user-id="c99234f0b681" data-collection-slug="trustpilot-tech" dir="auto"><img src="https://cdn-images-1.medium.com/fit/c/72/72/0*swrSRbZ0grxND112" class="avatar-image u-size36x36 u-xs-size32x32" alt="Go to the profile of David Walker"></a></div><div class="postMetaInline postMetaInline-authorLockup ui-captionStrong u-flex1 u-noWrapWithEllipsis"><a class="ds-link ds-link--styleSubtle link link--darken link--accent u-accentColor--textNormal u-accentColor--textDarken" href="https://tech.trustpilot.com/@dwlk" data-action="show-user-card" data-action-value="c99234f0b681" data-action-type="hover" data-user-id="c99234f0b681" data-collection-slug="trustpilot-tech" dir="auto">David Walker</a><div class="ui-caption u-fontSize12 u-baseColor--textNormal u-textColorNormal js-postMetaInlineSupplemental"><time datetime="2023-11-07T11:44:35.260Z">Nov 7, 2023</time><span class="middotDivider u-fontSize12"></span><span class="readingTime" title="3 min read"></span></div></div></div></div></div></div></div><div class="row u-marginTop15 u-marginLeftNegative12 u-marginRightNegative12"><div class="col u-xs-size12of12 js-trackPostPresentation u-paddingLeft12 u-marginBottom15 u-paddingRight12 u-size4of12" data-source="collection_home---4------4-----------------------" data-post-id="3c9d5b7b437e" data-index="4"><div class="u-lineHeightBase postItem"><a href="https://tech.trustpilot.com/accessibility-testing-in-trustpilot-3c9d5b7b437e?source=collection_home---4------4-----------------------" data-action="open-post" data-action-value="https://tech.trustpilot.com/accessibility-testing-in-trustpilot-3c9d5b7b437e?source=collection_home---4------4-----------------------" class="u-block u-xs-height170 u-height172 u-backgroundSizeCover u-backgroundOriginBorderBox u-backgroundColorGrayLight u-borderLighter" style="background-image: url(&quot;https://cdn-images-1.medium.com/max/800/1*LUE0VTRROhihiBK_jDiwDw.jpeg&quot;); background-position: 50% 50% !important;"><span class="u-textScreenReader">Accessibility Testing in Trustpilot</span></a></div><div class="col u-xs-marginBottom10 u-paddingLeft0 u-paddingRight0 u-paddingTop15 u-marginBottom30"><a class="" href="https://tech.trustpilot.com/accessibility-testing-in-trustpilot-3c9d5b7b437e?source=collection_home---4------4-----------------------" data-action-source="collection_home---4------4-----------------------" data-post-id="3c9d5b7b437e"><h3 class="u-contentSansBold u-lineHeightTightest u-xs-fontSize24 u-paddingBottom2 u-paddingTop5 u-fontSize32"><div class="u-letterSpacingTight u-lineHeightTighter u-breakWord u-textOverflowEllipsis u-lineClamp3 u-fontSize24">Accessibility Testing in Trustpilot</div></h3><div class="u-contentSansThin u-lineHeightBaseSans u-fontSize24 u-xs-fontSize18 u-textColorNormal u-baseColor--textNormal"><div class="u-fontSize18 u-letterSpacingTight u-lineHeightTight u-marginTop7 u-textColorNormal u-baseColor--textNormal">There’s always a new challenge to keep you motivated.</div></div></a><div class="u-clearfix u-marginTop20"><div class="u-flexCenter"><div class="postMetaInline-avatar u-flex0"><a class="link u-baseColor--link avatar" href="https://tech.trustpilot.com/@savorli" data-action="show-user-card" data-action-value="68e40518b7b4" data-action-type="hover" data-user-id="68e40518b7b4" data-collection-slug="trustpilot-tech" dir="auto"><img src="https://cdn-images-1.medium.com/fit/c/72/72/1*reR4C3YlAM95m40O6eQxiA.jpeg" class="avatar-image u-size36x36 u-xs-size32x32" alt="Go to the profile of Olga Saukh"></a></div><div class="postMetaInline postMetaInline-authorLockup ui-captionStrong u-flex1 u-noWrapWithEllipsis"><a class="ds-link ds-link--styleSubtle link link--darken link--accent u-accentColor--textNormal u-accentColor--textDarken" href="https://tech.trustpilot.com/@savorli" data-action="show-user-card" data-action-value="68e40518b7b4" data-action-type="hover" data-user-id="68e40518b7b4" data-collection-slug="trustpilot-tech" dir="auto">Olga Saukh</a><div class="ui-caption u-fontSize12 u-baseColor--textNormal u-textColorNormal js-postMetaInlineSupplemental"><time datetime="2023-08-17T12:14:09.960Z">Aug 17, 2023</time><span class="middotDivider u-fontSize12"></span><span class="readingTime" title="7 min read"></span></div></div></div></div></div></div><div class="col u-xs-size12of12 js-trackPostPresentation u-paddingLeft12 u-marginBottom15 u-paddingRight12 u-size4of12" data-source="collection_home---4------5-----------------------" data-post-id="4c37c27afc92" data-index="5"><div class="u-lineHeightBase postItem"><a href="https://tech.trustpilot.com/elasticsearch-data-migration-with-kafka-4c37c27afc92?source=collection_home---4------5-----------------------" data-action="open-post" data-action-value="https://tech.trustpilot.com/elasticsearch-data-migration-with-kafka-4c37c27afc92?source=collection_home---4------5-----------------------" class="u-block u-xs-height170 u-height172 u-backgroundSizeCover u-backgroundOriginBorderBox u-backgroundColorGrayLight u-borderLighter" style="background-image: url(&quot;https://cdn-images-1.medium.com/max/800/1*lyOoKG1firhq1Rg276lUYw.png&quot;); background-position: 50% 50% !important;"><span class="u-textScreenReader">Elasticsearch data migration with Kafka</span></a></div><div class="col u-xs-marginBottom10 u-paddingLeft0 u-paddingRight0 u-paddingTop15 u-marginBottom30"><a class="" href="https://tech.trustpilot.com/elasticsearch-data-migration-with-kafka-4c37c27afc92?source=collection_home---4------5-----------------------" data-action-source="collection_home---4------5-----------------------" data-post-id="4c37c27afc92"><h3 class="u-contentSansBold u-lineHeightTightest u-xs-fontSize24 u-paddingBottom2 u-paddingTop5 u-fontSize32"><div class="u-letterSpacingTight u-lineHeightTighter u-breakWord u-textOverflowEllipsis u-lineClamp3 u-fontSize24">Elasticsearch data migration with Kafka</div></h3><div class="u-contentSansThin u-lineHeightBaseSans u-fontSize24 u-xs-fontSize18 u-textColorNormal u-baseColor--textNormal"><div class="u-fontSize18 u-letterSpacingTight u-lineHeightTight u-marginTop7 u-textColorNormal u-baseColor--textNormal">Addressing Elasticsearch tech debt</div></div></a><div class="u-clearfix u-marginTop20"><div class="u-flexCenter"><div class="postMetaInline-avatar u-flex0"><a class="link u-baseColor--link avatar" href="https://tech.trustpilot.com/@dao_46598" data-action="show-user-card" data-action-value="9257fd122a38" data-action-type="hover" data-user-id="9257fd122a38" data-collection-slug="trustpilot-tech" dir="auto"><img src="https://cdn-images-1.medium.com/fit/c/72/72/1*H_7RRURB8JARLvXT-cWQog.png" class="avatar-image u-size36x36 u-xs-size32x32" alt="Go to the profile of Dana Aonofriesei"></a></div><div class="postMetaInline postMetaInline-authorLockup ui-captionStrong u-flex1 u-noWrapWithEllipsis"><a class="ds-link ds-link--styleSubtle link link--darken link--accent u-accentColor--textNormal u-accentColor--textDarken" href="https://tech.trustpilot.com/@dao_46598" data-action="show-user-card" data-action-value="9257fd122a38" data-action-type="hover" data-user-id="9257fd122a38" data-collection-slug="trustpilot-tech" dir="auto">Dana Aonofriesei</a><div class="ui-caption u-fontSize12 u-baseColor--textNormal u-textColorNormal js-postMetaInlineSupplemental"><time datetime="2022-11-14T10:49:27.441Z">Nov 14, 2022</time><span class="middotDivider u-fontSize12"></span><span class="readingTime" title="6 min read"></span></div></div></div></div></div></div><div class="col u-xs-size12of12 js-trackPostPresentation u-paddingLeft12 u-marginBottom15 u-paddingRight12 u-size4of12" data-source="collection_home---4------6-----------------------" data-post-id="5e045665bffb" data-index="6"><div class="u-lineHeightBase postItem"><a href="https://tech.trustpilot.com/remote-onboarding-5e045665bffb?source=collection_home---4------6-----------------------" data-action="open-post" data-action-value="https://tech.trustpilot.com/remote-onboarding-5e045665bffb?source=collection_home---4------6-----------------------" class="u-block u-xs-height170 u-height172 u-backgroundSizeCover u-backgroundOriginBorderBox u-backgroundColorGrayLight u-borderLighter" style="background-image: url(&quot;https://cdn-images-1.medium.com/max/800/1*RGoeQGdyP15e7Hh-KzEfiQ.jpeg&quot;); background-position: 50% 50% !important;"><span class="u-textScreenReader">Remote Onboarding</span></a></div><div class="col u-xs-marginBottom10 u-paddingLeft0 u-paddingRight0 u-paddingTop15 u-marginBottom30"><a class="" href="https://tech.trustpilot.com/remote-onboarding-5e045665bffb?source=collection_home---4------6-----------------------" data-action-source="collection_home---4------6-----------------------" data-post-id="5e045665bffb"><h3 class="u-contentSansBold u-lineHeightTightest u-xs-fontSize24 u-paddingBottom2 u-paddingTop5 u-fontSize32"><div class="u-letterSpacingTight u-lineHeightTighter u-breakWord u-textOverflowEllipsis u-lineClamp3 u-fontSize24">Remote Onboarding</div></h3><div class="u-contentSansThin u-lineHeightBaseSans u-fontSize24 u-xs-fontSize18 u-textColorNormal u-baseColor--textNormal"><div class="u-fontSize18 u-letterSpacingTight u-lineHeightTight u-marginTop7 u-textColorNormal u-baseColor--textNormal">What have we done to make our remote onboarding process successful?</div></div></a><div class="u-clearfix u-marginTop20"><div class="u-flexCenter"><div class="postMetaInline-avatar u-flex0"><a class="link u-baseColor--link avatar" href="https://tech.trustpilot.com/@elithe-91899" data-action="show-user-card" data-action-value="510e74c09938" data-action-type="hover" data-user-id="510e74c09938" data-collection-slug="trustpilot-tech" dir="auto"><img src="https://cdn-images-1.medium.com/fit/c/72/72/1*maW9Rax_3kiUWpU06PpMjw.png" class="avatar-image u-size36x36 u-xs-size32x32" alt="Go to the profile of Eli Marchevsky"></a></div><div class="postMetaInline postMetaInline-authorLockup ui-captionStrong u-flex1 u-noWrapWithEllipsis"><a class="ds-link ds-link--styleSubtle link link--darken link--accent u-accentColor--textNormal u-accentColor--textDarken" href="https://tech.trustpilot.com/@elithe-91899" data-action="show-user-card" data-action-value="510e74c09938" data-action-type="hover" data-user-id="510e74c09938" data-collection-slug="trustpilot-tech" dir="auto">Eli Marchevsky</a><div class="ui-caption u-fontSize12 u-baseColor--textNormal u-textColorNormal js-postMetaInlineSupplemental"><time datetime="2021-04-03T16:32:26.322Z">Apr 3, 2021</time><span class="middotDivider u-fontSize12"></span><span class="readingTime" title="4 min read"></span></div></div></div></div></div></div></div></section></div></div><style class="js-collectionStyle"> .u-accentColor--borderLight {border-color: #7186B3 !important;} .u-accentColor--borderNormal {border-color: #7186B3 !important;} .u-accentColor--borderDark {border-color: #627397 !important;} .u-accentColor--iconLight .svgIcon,.u-accentColor--iconLight.svgIcon {fill: #7186B3 !important;} .u-accentColor--iconNormal .svgIcon,.u-accentColor--iconNormal.svgIcon {fill: #7186B3 !important;} .u-accentColor--iconDark .svgIcon,.u-accentColor--iconDark.svgIcon {fill: #627397 !important;} .u-accentColor--textNormal {color: #627397 !important;} .u-accentColor--hoverTextNormal:hover {color: #627397 !important;} .u-accentColor--textNormal.u-accentColor--textDarken:hover {color: #5A6989 !important;} .u-accentColor--textDark {color: #5A6989 !important;} .u-accentColor--backgroundLight {background-color: #7186B3 !important;} .u-accentColor--backgroundNormal {background-color: #7186B3 !important;} .u-accentColor--backgroundDark {background-color: #627397 !important;} .u-accentColor--buttonDark {border-color: #627397 !important; color: #5A6989 !important;} .u-accentColor--buttonDark:hover {border-color: #5A6989 !important;} .u-accentColor--buttonDark .icon:before,.u-accentColor--buttonDark .svgIcon{color: #627397 !important; fill: #627397 !important;} .u-accentColor--buttonNormal:not(.clapButton--largePill) {border-color: #7186B3 !important; color: #627397 !important;} .u-accentColor--buttonNormal:hover {border-color: #627397 !important;} .u-accentColor--buttonNormal .icon:before,.u-accentColor--buttonNormal .svgIcon{color: #7186B3 !important; fill: #7186B3 !important;} .u-accentColor--buttonNormal.button--filled .icon:before,.u-accentColor--buttonNormal.button--filled .svgIcon{color: rgba(255, 255, 255, 1) !important; fill: rgba(255, 255, 255, 1) !important;} .u-accentColor--buttonDark.button--filled,.u-accentColor--buttonDark.button--withChrome.is-active,.u-accentColor--fillWhenActive.is-active {background-color: #627397 !important; border-color: #627397 !important; color: rgba(255, 255, 255, 1) !important; fill: rgba(255, 255, 255, 1) !important;} .u-accentColor--buttonNormal.button--filled:not(.clapButton--largePill),.u-accentColor--buttonNormal.button--withChrome.is-active:not(.clapButton--largePill) {background-color: #7186B3 !important; border-color: #7186B3 !important; color: rgba(255, 255, 255, 1) !important; fill: rgba(255, 255, 255, 1) !important;} .postArticle.is-withAccentColors .markup--user,.postArticle.is-withAccentColors .markup--query {color: #627397 !important;}.u-tintBgColor {background-color: rgba(0, 0, 50, 1) !important;}.u-tintBgColor .u-fadeLeft:before {background-image: linear-gradient(to right, rgba(0, 0, 50, 1) 0%, rgba(0, 0, 50, 0) 100%) !important;}.u-tintBgColor .u-fadeRight:after {background-image: linear-gradient(to right, rgba(0, 0, 50, 0) 0%, rgba(0, 0, 50, 1) 100%) !important;} .u-tintSpectrum .u-baseColor--borderLight {border-color: #818DA7 !important;} .u-tintSpectrum .u-baseColor--borderNormal {border-color: #AFB7CA !important;} .u-tintSpectrum .u-baseColor--borderDark {border-color: #D9DEEB !important;} .u-tintSpectrum .u-baseColor--iconLight .svgIcon,.u-tintSpectrum .u-baseColor--iconLight.svgIcon {fill: #818DA7 !important;} .u-tintSpectrum .u-baseColor--iconNormal .svgIcon,.u-tintSpectrum .u-baseColor--iconNormal.svgIcon {fill: #AFB7CA !important;} .u-tintSpectrum .u-baseColor--iconDark .svgIcon,.u-tintSpectrum .u-baseColor--iconDark.svgIcon {fill: #D9DEEB !important;} .u-tintSpectrum .u-baseColor--textNormal {color: #AFB7CA !important;} .u-tintSpectrum .u-baseColor--textNormal.u-baseColor--textDarken:hover {color: #EEF1FB !important;} .u-tintSpectrum .u-baseColor--textDark {color: #EEF1FB !important;} .u-tintSpectrum .u-baseColor--textDarker {color: #EEF1FB !important;} .u-tintSpectrum .u-baseColor--backgroundLight {background-color: #818DA7 !important;} .u-tintSpectrum .u-baseColor--backgroundNormal {background-color: #AFB7CA !important;} .u-tintSpectrum .u-baseColor--backgroundDark {background-color: #D9DEEB !important;} .u-tintSpectrum .u-baseColor--buttonLight {border-color: #818DA7 !important; color: #818DA7 !important;} .u-tintSpectrum .u-baseColor--buttonLight:hover {border-color: #818DA7 !important;} .u-tintSpectrum .u-baseColor--buttonLight .icon:before,.u-tintSpectrum .u-baseColor--buttonLight .svgIcon {color: #818DA7 !important; fill: #818DA7 !important;} .u-tintSpectrum .u-baseColor--buttonDark {border-color: #D9DEEB !important; color: #EEF1FB !important;} .u-tintSpectrum .u-baseColor--buttonDark:hover {border-color: #EEF1FB !important;} .u-tintSpectrum .u-baseColor--buttonDark .icon:before,.u-tintSpectrum .u-baseColor--buttonDark .svgIcon {color: #D9DEEB !important; fill: #D9DEEB !important;} .u-tintSpectrum .u-baseColor--buttonNormal {border-color: #AFB7CA !important; color: #AFB7CA !important;} .u-tintSpectrum .u-baseColor--buttonNormal:hover {border-color: #D9DEEB !important;} .u-tintSpectrum .u-baseColor--buttonNormal .icon:before,.u-tintSpectrum .u-baseColor--buttonNormal .svgIcon {color: #AFB7CA !important; fill: #AFB7CA !important;} .u-tintSpectrum .u-baseColor--buttonDark.button--filled,.u-tintSpectrum .u-baseColor--buttonDark.button--withChrome.is-active {background-color: #D9DEEB !important; border-color: #D9DEEB !important; color: rgba(0, 0, 50, 1) !important; fill: rgba(0, 0, 50, 1) !important;} .u-tintSpectrum .u-baseColor--buttonNormal.button--filled,.u-tintSpectrum .u-baseColor--buttonNormal.button--withChrome.is-active {background-color: #AFB7CA !important; border-color: #AFB7CA !important; color: rgba(0, 0, 50, 1) !important; fill: rgba(0, 0, 50, 1) !important;} .u-tintSpectrum .u-baseColor--link {color: #AFB7CA !important;} .u-tintSpectrum .u-baseColor--link.link--darkenOnHover:hover {color: #EEF1FB !important;} .u-tintSpectrum .u-baseColor--link.link--darken:hover,.u-tintSpectrum .u-baseColor--link.link--darken:focus,.u-tintSpectrum .u-baseColor--link.link--darken:active {color: #EEF1FB !important;} .u-tintSpectrum .u-baseColor--link.link--dark {color: #EEF1FB !important;} .u-tintSpectrum .u-baseColor--link.link--dark.link--darken:hover,.u-tintSpectrum .u-baseColor--link.link--dark.link--darken:focus,.u-tintSpectrum .u-baseColor--link.link--dark.link--darken:active {color: #EEF1FB !important;} .u-tintSpectrum .u-baseColor--link.link--darker {color: #EEF1FB !important;} .u-tintSpectrum .u-baseColor--placeholderNormal ::-webkit-input-placeholder {color: #818DA7;} .u-tintSpectrum .u-baseColor--placeholderNormal ::-moz-placeholder {color: #818DA7;} .u-tintSpectrum .u-baseColor--placeholderNormal :-ms-input-placeholder {color: #818DA7;} .u-tintSpectrum .ui-h1,.u-tintSpectrum .ui-h2,.u-tintSpectrum .ui-h3,.u-tintSpectrum .ui-h4,.u-tintSpectrum .ui-brand1,.u-tintSpectrum .ui-brand2,.u-tintSpectrum .ui-captionStrong {color: #EEF1FB !important; fill: #EEF1FB !important;} .u-tintSpectrum .ui-body,.u-tintSpectrum .ui-caps {color: #EEF1FB !important; fill: #EEF1FB !important;} .u-tintSpectrum .ui-summary,.u-tintSpectrum .ui-caption {color: #818DA7 !important; fill: #818DA7 !important;} .u-tintSpectrum .u-accentColor--borderLight {border-color: #818DA7 !important;} .u-tintSpectrum .u-accentColor--borderNormal {border-color: #AFB7CA !important;} .u-tintSpectrum .u-accentColor--borderDark {border-color: #D9DEEB !important;} .u-tintSpectrum .u-accentColor--iconLight .svgIcon,.u-tintSpectrum .u-accentColor--iconLight.svgIcon {fill: #818DA7 !important;} .u-tintSpectrum .u-accentColor--iconNormal .svgIcon,.u-tintSpectrum .u-accentColor--iconNormal.svgIcon {fill: #AFB7CA !important;} .u-tintSpectrum .u-accentColor--iconDark .svgIcon,.u-tintSpectrum .u-accentColor--iconDark.svgIcon {fill: #D9DEEB !important;} .u-tintSpectrum .u-accentColor--textNormal {color: #AFB7CA !important;} .u-tintSpectrum .u-accentColor--hoverTextNormal:hover {color: #AFB7CA !important;} .u-tintSpectrum .u-accentColor--textNormal.u-accentColor--textDarken:hover {color: #EEF1FB !important;} .u-tintSpectrum .u-accentColor--textDark {color: #EEF1FB !important;} .u-tintSpectrum .u-accentColor--backgroundLight {background-color: #818DA7 !important;} .u-tintSpectrum .u-accentColor--backgroundNormal {background-color: #AFB7CA !important;} .u-tintSpectrum .u-accentColor--backgroundDark {background-color: #D9DEEB !important;} .u-tintSpectrum .u-accentColor--buttonDark {border-color: #D9DEEB !important; color: #EEF1FB !important;} .u-tintSpectrum .u-accentColor--buttonDark:hover {border-color: #EEF1FB !important;} .u-tintSpectrum .u-accentColor--buttonDark .icon:before,.u-tintSpectrum .u-accentColor--buttonDark .svgIcon{color: #D9DEEB !important; fill: #D9DEEB !important;} .u-tintSpectrum .u-accentColor--buttonNormal:not(.clapButton--largePill) {border-color: #AFB7CA !important; color: #AFB7CA !important;} .u-tintSpectrum .u-accentColor--buttonNormal:hover {border-color: #D9DEEB !important;} .u-tintSpectrum .u-accentColor--buttonNormal .icon:before,.u-tintSpectrum .u-accentColor--buttonNormal .svgIcon{color: #AFB7CA !important; fill: #AFB7CA !important;} .u-tintSpectrum .u-accentColor--buttonNormal.button--filled .icon:before,.u-tintSpectrum .u-accentColor--buttonNormal.button--filled .svgIcon{color: rgba(0, 0, 50, 1) !important; fill: rgba(0, 0, 50, 1) !important;} .u-tintSpectrum .u-accentColor--buttonDark.button--filled,.u-tintSpectrum .u-accentColor--buttonDark.button--withChrome.is-active,.u-tintSpectrum .u-accentColor--fillWhenActive.is-active {background-color: #D9DEEB !important; border-color: #D9DEEB !important; color: rgba(0, 0, 50, 1) !important; fill: rgba(0, 0, 50, 1) !important;} .u-tintSpectrum .u-accentColor--buttonNormal.button--filled:not(.clapButton--largePill),.u-tintSpectrum .u-accentColor--buttonNormal.button--withChrome.is-active:not(.clapButton--largePill) {background-color: #AFB7CA !important; border-color: #AFB7CA !important; color: rgba(0, 0, 50, 1) !important; fill: rgba(0, 0, 50, 1) !important;} .u-tintSpectrum .postArticle.is-withAccentColors .markup--user,.u-tintSpectrum .postArticle.is-withAccentColors .markup--query {color: #AFB7CA !important;} .u-accentColor--highlightFaint {background-color: rgba(236, 241, 255, 1) !important;} .u-accentColor--highlightStrong.is-active .svgIcon {fill: rgba(208, 225, 255, 1) !important;} .postArticle.is-withAccentColors .markup--quote.is-other {background-color: rgba(236, 241, 255, 1) !important;} body.is-withMagicUnderlines .postArticle.is-withAccentColors .markup--quote.is-other {background-color: transparent !important; background-image: linear-gradient(to bottom, rgba(236, 241, 255, 1), rgba(236, 241, 255, 1));} .postArticle.is-withAccentColors .markup--quote.is-me {background-color: rgba(221, 232, 255, 1) !important;} body.is-withMagicUnderlines .postArticle.is-withAccentColors .markup--quote.is-me {background-color: transparent !important; background-image: linear-gradient(to bottom, rgba(221, 232, 255, 1), rgba(221, 232, 255, 1));} .postArticle.is-withAccentColors .markup--quote.is-targeted {background-color: rgba(208, 225, 255, 1) !important;} body.is-withMagicUnderlines .postArticle.is-withAccentColors .markup--quote.is-targeted {background-color: transparent !important; background-image: linear-gradient(to bottom, rgba(208, 225, 255, 1), rgba(208, 225, 255, 1));} .postArticle.is-withAccentColors .markup--quote.is-selected {background-color: rgba(208, 225, 255, 1) !important;} body.is-withMagicUnderlines .postArticle.is-withAccentColors .markup--quote.is-selected {background-color: transparent !important; background-image: linear-gradient(to bottom, rgba(208, 225, 255, 1), rgba(208, 225, 255, 1));} .postArticle.is-withAccentColors .markup--highlight {background-color: rgba(208, 225, 255, 1) !important;} body.is-withMagicUnderlines .postArticle.is-withAccentColors .markup--highlight {background-color: transparent !important; background-image: linear-gradient(to bottom, rgba(208, 225, 255, 1), rgba(208, 225, 255, 1));}</style><style class="js-collectionStyleConstant">.u-imageBgColor {background-color: rgba(0, 0, 0, 0.24705882352941178);} .u-imageSpectrum .u-baseColor--borderLight {border-color: rgba(255, 255, 255, 0.6980392156862745) !important;} .u-imageSpectrum .u-baseColor--borderNormal {border-color: rgba(255, 255, 255, 0.8980392156862745) !important;} .u-imageSpectrum .u-baseColor--borderDark {border-color: rgba(255, 255, 255, 0.9490196078431372) !important;} .u-imageSpectrum .u-baseColor--iconLight .svgIcon,.u-imageSpectrum .u-baseColor--iconLight.svgIcon {fill: rgba(255, 255, 255, 0.8) !important;} .u-imageSpectrum .u-baseColor--iconNormal .svgIcon,.u-imageSpectrum .u-baseColor--iconNormal.svgIcon {fill: rgba(255, 255, 255, 0.9490196078431372) !important;} .u-imageSpectrum .u-baseColor--iconDark .svgIcon,.u-imageSpectrum .u-baseColor--iconDark.svgIcon {fill: rgba(255, 255, 255, 1) !important;} .u-imageSpectrum .u-baseColor--textNormal {color: rgba(255, 255, 255, 0.9490196078431372) !important;} .u-imageSpectrum .u-baseColor--textNormal.u-baseColor--textDarken:hover {color: rgba(255, 255, 255, 1) !important;} .u-imageSpectrum .u-baseColor--textDark {color: rgba(255, 255, 255, 1) !important;} .u-imageSpectrum .u-baseColor--textDarker {color: rgba(255, 255, 255, 1) !important;} .u-imageSpectrum .u-baseColor--backgroundLight {background-color: rgba(255, 255, 255, 0.8980392156862745) !important;} .u-imageSpectrum .u-baseColor--backgroundNormal {background-color: rgba(255, 255, 255, 0.9490196078431372) !important;} .u-imageSpectrum .u-baseColor--backgroundDark {background-color: rgba(255, 255, 255, 1) !important;} .u-imageSpectrum .u-baseColor--buttonLight {border-color: rgba(255, 255, 255, 0.6980392156862745) !important; color: rgba(255, 255, 255, 0.8) !important;} .u-imageSpectrum .u-baseColor--buttonLight:hover {border-color: rgba(255, 255, 255, 0.6980392156862745) !important;} .u-imageSpectrum .u-baseColor--buttonLight .icon:before,.u-imageSpectrum .u-baseColor--buttonLight .svgIcon {color: rgba(255, 255, 255, 0.8) !important; fill: rgba(255, 255, 255, 0.8) !important;} .u-imageSpectrum .u-baseColor--buttonDark {border-color: rgba(255, 255, 255, 0.9490196078431372) !important; color: rgba(255, 255, 255, 1) !important;} .u-imageSpectrum .u-baseColor--buttonDark:hover {border-color: rgba(255, 255, 255, 1) !important;} .u-imageSpectrum .u-baseColor--buttonDark .icon:before,.u-imageSpectrum .u-baseColor--buttonDark .svgIcon {color: rgba(255, 255, 255, 1) !important; fill: rgba(255, 255, 255, 1) !important;} .u-imageSpectrum .u-baseColor--buttonNormal {border-color: rgba(255, 255, 255, 0.8980392156862745) !important; color: rgba(255, 255, 255, 0.9490196078431372) !important;} .u-imageSpectrum .u-baseColor--buttonNormal:hover {border-color: rgba(255, 255, 255, 0.9490196078431372) !important;} .u-imageSpectrum .u-baseColor--buttonNormal .icon:before,.u-imageSpectrum .u-baseColor--buttonNormal .svgIcon {color: rgba(255, 255, 255, 0.9490196078431372) !important; fill: rgba(255, 255, 255, 0.9490196078431372) !important;} .u-imageSpectrum .u-baseColor--buttonDark.button--filled,.u-imageSpectrum .u-baseColor--buttonDark.button--withChrome.is-active {background-color: rgba(255, 255, 255, 1) !important; border-color: rgba(255, 255, 255, 1) !important; color: rgba(0, 0, 0, 0.24705882352941178) !important; fill: rgba(0, 0, 0, 0.24705882352941178) !important;} .u-imageSpectrum .u-baseColor--buttonNormal.button--filled,.u-imageSpectrum .u-baseColor--buttonNormal.button--withChrome.is-active {background-color: rgba(255, 255, 255, 0.9490196078431372) !important; border-color: rgba(255, 255, 255, 0.9490196078431372) !important; color: rgba(0, 0, 0, 0.24705882352941178) !important; fill: rgba(0, 0, 0, 0.24705882352941178) !important;} .u-imageSpectrum .u-baseColor--link {color: rgba(255, 255, 255, 0.9490196078431372) !important;} .u-imageSpectrum .u-baseColor--link.link--darkenOnHover:hover {color: rgba(255, 255, 255, 1) !important;} .u-imageSpectrum .u-baseColor--link.link--darken:hover,.u-imageSpectrum .u-baseColor--link.link--darken:focus,.u-imageSpectrum .u-baseColor--link.link--darken:active {color: rgba(255, 255, 255, 1) !important;} .u-imageSpectrum .u-baseColor--link.link--dark {color: rgba(255, 255, 255, 1) !important;} .u-imageSpectrum .u-baseColor--link.link--dark.link--darken:hover,.u-imageSpectrum .u-baseColor--link.link--dark.link--darken:focus,.u-imageSpectrum .u-baseColor--link.link--dark.link--darken:active {color: rgba(255, 255, 255, 1) !important;} .u-imageSpectrum .u-baseColor--link.link--darker {color: rgba(255, 255, 255, 1) !important;} .u-imageSpectrum .u-baseColor--placeholderNormal ::-webkit-input-placeholder {color: rgba(255, 255, 255, 0.8);} .u-imageSpectrum .u-baseColor--placeholderNormal ::-moz-placeholder {color: rgba(255, 255, 255, 0.8);} .u-imageSpectrum .u-baseColor--placeholderNormal :-ms-input-placeholder {color: rgba(255, 255, 255, 0.8);} .u-imageSpectrum .ui-h1,.u-imageSpectrum .ui-h2,.u-imageSpectrum .ui-h3,.u-imageSpectrum .ui-h4,.u-imageSpectrum .ui-brand1,.u-imageSpectrum .ui-brand2,.u-imageSpectrum .ui-captionStrong {color: rgba(255, 255, 255, 1) !important; fill: rgba(255, 255, 255, 1) !important;} .u-imageSpectrum .ui-body,.u-imageSpectrum .ui-caps {color: rgba(255, 255, 255, 1) !important; fill: rgba(255, 255, 255, 1) !important;} .u-imageSpectrum .ui-summary,.u-imageSpectrum .ui-caption {color: rgba(255, 255, 255, 0.8) !important; fill: rgba(255, 255, 255, 0.8) !important;} .u-imageSpectrum .u-accentColor--borderLight {border-color: rgba(255, 255, 255, 0.6980392156862745) !important;} .u-imageSpectrum .u-accentColor--borderNormal {border-color: rgba(255, 255, 255, 0.8980392156862745) !important;} .u-imageSpectrum .u-accentColor--borderDark {border-color: rgba(255, 255, 255, 0.9490196078431372) !important;} .u-imageSpectrum .u-accentColor--iconLight .svgIcon,.u-imageSpectrum .u-accentColor--iconLight.svgIcon {fill: rgba(255, 255, 255, 0.8) !important;} .u-imageSpectrum .u-accentColor--iconNormal .svgIcon,.u-imageSpectrum .u-accentColor--iconNormal.svgIcon {fill: rgba(255, 255, 255, 0.9490196078431372) !important;} .u-imageSpectrum .u-accentColor--iconDark .svgIcon,.u-imageSpectrum .u-accentColor--iconDark.svgIcon {fill: rgba(255, 255, 255, 1) !important;} .u-imageSpectrum .u-accentColor--textNormal {color: rgba(255, 255, 255, 0.9490196078431372) !important;} .u-imageSpectrum .u-accentColor--hoverTextNormal:hover {color: rgba(255, 255, 255, 0.9490196078431372) !important;} .u-imageSpectrum .u-accentColor--textNormal.u-accentColor--textDarken:hover {color: rgba(255, 255, 255, 1) !important;} .u-imageSpectrum .u-accentColor--textDark {color: rgba(255, 255, 255, 1) !important;} .u-imageSpectrum .u-accentColor--backgroundLight {background-color: rgba(255, 255, 255, 0.8980392156862745) !important;} .u-imageSpectrum .u-accentColor--backgroundNormal {background-color: rgba(255, 255, 255, 0.9490196078431372) !important;} .u-imageSpectrum .u-accentColor--backgroundDark {background-color: rgba(255, 255, 255, 1) !important;} .u-imageSpectrum .u-accentColor--buttonDark {border-color: rgba(255, 255, 255, 0.9490196078431372) !important; color: rgba(255, 255, 255, 1) !important;} .u-imageSpectrum .u-accentColor--buttonDark:hover {border-color: rgba(255, 255, 255, 1) !important;} .u-imageSpectrum .u-accentColor--buttonDark .icon:before,.u-imageSpectrum .u-accentColor--buttonDark .svgIcon{color: rgba(255, 255, 255, 1) !important; fill: rgba(255, 255, 255, 1) !important;} .u-imageSpectrum .u-accentColor--buttonNormal:not(.clapButton--largePill) {border-color: rgba(255, 255, 255, 0.8980392156862745) !important; color: rgba(255, 255, 255, 0.9490196078431372) !important;} .u-imageSpectrum .u-accentColor--buttonNormal:hover {border-color: rgba(255, 255, 255, 0.9490196078431372) !important;} .u-imageSpectrum .u-accentColor--buttonNormal .icon:before,.u-imageSpectrum .u-accentColor--buttonNormal .svgIcon{color: rgba(255, 255, 255, 0.9490196078431372) !important; fill: rgba(255, 255, 255, 0.9490196078431372) !important;} .u-imageSpectrum .u-accentColor--buttonNormal.button--filled .icon:before,.u-imageSpectrum .u-accentColor--buttonNormal.button--filled .svgIcon{color: rgba(0, 0, 0, 0.24705882352941178) !important; fill: rgba(0, 0, 0, 0.24705882352941178) !important;} .u-imageSpectrum .u-accentColor--buttonDark.button--filled,.u-imageSpectrum .u-accentColor--buttonDark.button--withChrome.is-active,.u-imageSpectrum .u-accentColor--fillWhenActive.is-active {background-color: rgba(255, 255, 255, 1) !important; border-color: rgba(255, 255, 255, 1) !important; color: rgba(0, 0, 0, 0.24705882352941178) !important; fill: rgba(0, 0, 0, 0.24705882352941178) !important;} .u-imageSpectrum .u-accentColor--buttonNormal.button--filled:not(.clapButton--largePill),.u-imageSpectrum .u-accentColor--buttonNormal.button--withChrome.is-active:not(.clapButton--largePill) {background-color: rgba(255, 255, 255, 0.9490196078431372) !important; border-color: rgba(255, 255, 255, 0.9490196078431372) !important; color: rgba(0, 0, 0, 0.24705882352941178) !important; fill: rgba(0, 0, 0, 0.24705882352941178) !important;} .u-imageSpectrum .postArticle.is-withAccentColors .markup--user,.u-imageSpectrum .postArticle.is-withAccentColors .markup--query {color: rgba(255, 255, 255, 0.9490196078431372) !important;} .u-imageSpectrum .u-accentColor--highlightFaint {background-color: rgba(255, 255, 255, 0.2) !important;} .u-imageSpectrum .u-accentColor--highlightStrong.is-active .svgIcon {fill: rgba(255, 255, 255, 0.6) !important;} .postArticle.is-withAccentColors .u-imageSpectrum .markup--quote.is-other {background-color: rgba(255, 255, 255, 0.2) !important;} body.is-withMagicUnderlines .postArticle.is-withAccentColors .u-imageSpectrum .markup--quote.is-other {background-color: transparent !important; background-image: linear-gradient(to bottom, rgba(255, 255, 255, 0.2), rgba(255, 255, 255, 0.2));} .postArticle.is-withAccentColors .u-imageSpectrum .markup--quote.is-me {background-color: rgba(255, 255, 255, 0.4) !important;} body.is-withMagicUnderlines .postArticle.is-withAccentColors .u-imageSpectrum .markup--quote.is-me {background-color: transparent !important; background-image: linear-gradient(to bottom, rgba(255, 255, 255, 0.4), rgba(255, 255, 255, 0.4));} .postArticle.is-withAccentColors .u-imageSpectrum .markup--quote.is-targeted {background-color: rgba(255, 255, 255, 0.6) !important;} body.is-withMagicUnderlines .postArticle.is-withAccentColors .u-imageSpectrum .markup--quote.is-targeted {background-color: transparent !important; background-image: linear-gradient(to bottom, rgba(255, 255, 255, 0.6), rgba(255, 255, 255, 0.6));} .postArticle.is-withAccentColors .u-imageSpectrum .markup--quote.is-selected {background-color: rgba(255, 255, 255, 0.6) !important;} body.is-withMagicUnderlines .postArticle.is-withAccentColors .u-imageSpectrum .markup--quote.is-selected {background-color: transparent !important; background-image: linear-gradient(to bottom, rgba(255, 255, 255, 0.6), rgba(255, 255, 255, 0.6));} .postArticle.is-withAccentColors .u-imageSpectrum .markup--highlight {background-color: rgba(255, 255, 255, 0.6) !important;} body.is-withMagicUnderlines .postArticle.is-withAccentColors .u-imageSpectrum .markup--highlight {background-color: transparent !important; background-image: linear-gradient(to bottom, rgba(255, 255, 255, 0.6), rgba(255, 255, 255, 0.6));}.u-resetSpectrum .u-tintBgColor {background-color: rgba(255, 255, 255, 1) !important;}.u-resetSpectrum .u-tintBgColor .u-fadeLeft:before {background-image: linear-gradient(to right, rgba(255, 255, 255, 1) 0%, rgba(255, 255, 255, 0) 100%) !important;}.u-resetSpectrum .u-tintBgColor .u-fadeRight:after {background-image: linear-gradient(to right, rgba(255, 255, 255, 0) 0%, rgba(255, 255, 255, 1) 100%) !important;} .u-resetSpectrum .u-baseColor--borderLight {border-color: rgba(0, 0, 0, 0.2980392156862745) !important;} .u-resetSpectrum .u-baseColor--borderNormal {border-color: rgba(0, 0, 0, 0.4980392156862745) !important;} .u-resetSpectrum .u-baseColor--borderDark {border-color: rgba(0, 0, 0, 0.6) !important;} .u-resetSpectrum .u-baseColor--iconLight .svgIcon,.u-resetSpectrum .u-baseColor--iconLight.svgIcon {fill: rgba(0, 0, 0, 0.2980392156862745) !important;} .u-resetSpectrum .u-baseColor--iconNormal .svgIcon,.u-resetSpectrum .u-baseColor--iconNormal.svgIcon {fill: rgba(0, 0, 0, 0.4980392156862745) !important;} .u-resetSpectrum .u-baseColor--iconDark .svgIcon,.u-resetSpectrum .u-baseColor--iconDark.svgIcon {fill: rgba(0, 0, 0, 0.6) !important;} .u-resetSpectrum .u-baseColor--textNormal {color: rgba(0, 0, 0, 0.4980392156862745) !important;} .u-resetSpectrum .u-baseColor--textNormal.u-baseColor--textDarken:hover {color: rgba(0, 0, 0, 0.6) !important;} .u-resetSpectrum .u-baseColor--textDark {color: rgba(0, 0, 0, 0.6) !important;} .u-resetSpectrum .u-baseColor--textDarker {color: rgba(0, 0, 0, 0.8) !important;} .u-resetSpectrum .u-baseColor--backgroundLight {background-color: rgba(0, 0, 0, 0.09803921568627451) !important;} .u-resetSpectrum .u-baseColor--backgroundNormal {background-color: rgba(0, 0, 0, 0.2) !important;} .u-resetSpectrum .u-baseColor--backgroundDark {background-color: rgba(0, 0, 0, 0.2980392156862745) !important;} .u-resetSpectrum .u-baseColor--buttonLight {border-color: rgba(0, 0, 0, 0.2980392156862745) !important; color: rgba(0, 0, 0, 0.2980392156862745) !important;} .u-resetSpectrum .u-baseColor--buttonLight:hover {border-color: rgba(0, 0, 0, 0.2980392156862745) !important;} .u-resetSpectrum .u-baseColor--buttonLight .icon:before,.u-resetSpectrum .u-baseColor--buttonLight .svgIcon {color: rgba(0, 0, 0, 0.2980392156862745) !important; fill: rgba(0, 0, 0, 0.2980392156862745) !important;} .u-resetSpectrum .u-baseColor--buttonDark {border-color: rgba(0, 0, 0, 0.6) !important; color: rgba(0, 0, 0, 0.6) !important;} .u-resetSpectrum .u-baseColor--buttonDark:hover {border-color: rgba(0, 0, 0, 0.8) !important;} .u-resetSpectrum .u-baseColor--buttonDark .icon:before,.u-resetSpectrum .u-baseColor--buttonDark .svgIcon {color: rgba(0, 0, 0, 0.6) !important; fill: rgba(0, 0, 0, 0.6) !important;} .u-resetSpectrum .u-baseColor--buttonNormal {border-color: rgba(0, 0, 0, 0.4980392156862745) !important; color: rgba(0, 0, 0, 0.4980392156862745) !important;} .u-resetSpectrum .u-baseColor--buttonNormal:hover {border-color: rgba(0, 0, 0, 0.6) !important;} .u-resetSpectrum .u-baseColor--buttonNormal .icon:before,.u-resetSpectrum .u-baseColor--buttonNormal .svgIcon {color: rgba(0, 0, 0, 0.4980392156862745) !important; fill: rgba(0, 0, 0, 0.4980392156862745) !important;} .u-resetSpectrum .u-baseColor--buttonDark.button--filled,.u-resetSpectrum .u-baseColor--buttonDark.button--withChrome.is-active {background-color: rgba(0, 0, 0, 0.2980392156862745) !important; border-color: rgba(0, 0, 0, 0.2980392156862745) !important; color: rgba(255, 255, 255, 1) !important; fill: rgba(255, 255, 255, 1) !important;} .u-resetSpectrum .u-baseColor--buttonNormal.button--filled,.u-resetSpectrum .u-baseColor--buttonNormal.button--withChrome.is-active {background-color: rgba(0, 0, 0, 0.2) !important; border-color: rgba(0, 0, 0, 0.2) !important; color: rgba(255, 255, 255, 1) !important; fill: rgba(255, 255, 255, 1) !important;} .u-resetSpectrum .u-baseColor--link {color: rgba(0, 0, 0, 0.4980392156862745) !important;} .u-resetSpectrum .u-baseColor--link.link--darkenOnHover:hover {color: rgba(0, 0, 0, 0.6) !important;} .u-resetSpectrum .u-baseColor--link.link--darken:hover,.u-resetSpectrum .u-baseColor--link.link--darken:focus,.u-resetSpectrum .u-baseColor--link.link--darken:active {color: rgba(0, 0, 0, 0.6) !important;} .u-resetSpectrum .u-baseColor--link.link--dark {color: rgba(0, 0, 0, 0.6) !important;} .u-resetSpectrum .u-baseColor--link.link--dark.link--darken:hover,.u-resetSpectrum .u-baseColor--link.link--dark.link--darken:focus,.u-resetSpectrum .u-baseColor--link.link--dark.link--darken:active {color: rgba(0, 0, 0, 0.8) !important;} .u-resetSpectrum .u-baseColor--link.link--darker {color: rgba(0, 0, 0, 0.8) !important;} .u-resetSpectrum .u-baseColor--placeholderNormal ::-webkit-input-placeholder {color: rgba(0, 0, 0, 0.2980392156862745);} .u-resetSpectrum .u-baseColor--placeholderNormal ::-moz-placeholder {color: rgba(0, 0, 0, 0.2980392156862745);} .u-resetSpectrum .u-baseColor--placeholderNormal :-ms-input-placeholder {color: rgba(0, 0, 0, 0.2980392156862745);} .u-resetSpectrum .ui-h1,.u-resetSpectrum .ui-h2,.u-resetSpectrum .ui-h3,.u-resetSpectrum .ui-h4,.u-resetSpectrum .ui-brand1,.u-resetSpectrum .ui-brand2,.u-resetSpectrum .ui-captionStrong {color: rgba(0, 0, 0, 0.8) !important; fill: rgba(0, 0, 0, 0.8) !important;} .u-resetSpectrum .ui-body,.u-resetSpectrum .ui-caps {color: rgba(0, 0, 0, 0.6) !important; fill: rgba(0, 0, 0, 0.6) !important;} .u-resetSpectrum .ui-summary,.u-resetSpectrum .ui-caption {color: rgba(0, 0, 0, 0.2980392156862745) !important; fill: rgba(0, 0, 0, 0.2980392156862745) !important;} .u-resetSpectrum .u-accentColor--borderLight {border-color: rgba(26, 137, 23, 1) !important;} .u-resetSpectrum .u-accentColor--borderNormal {border-color: rgba(26, 137, 23, 1) !important;} .u-resetSpectrum .u-accentColor--borderDark {border-color: rgba(17, 128, 14, 1) !important;} .u-resetSpectrum .u-accentColor--iconLight .svgIcon,.u-resetSpectrum .u-accentColor--iconLight.svgIcon {fill: rgba(26, 137, 23, 1) !important;} .u-resetSpectrum .u-accentColor--iconNormal .svgIcon,.u-resetSpectrum .u-accentColor--iconNormal.svgIcon {fill: rgba(17, 128, 14, 1) !important;} .u-resetSpectrum .u-accentColor--iconDark .svgIcon,.u-resetSpectrum .u-accentColor--iconDark.svgIcon {fill: rgba(15, 115, 12, 1) !important;} .u-resetSpectrum .u-accentColor--textNormal {color: rgba(17, 128, 14, 1) !important;} .u-resetSpectrum .u-accentColor--hoverTextNormal:hover {color: rgba(17, 128, 14, 1) !important;} .u-resetSpectrum .u-accentColor--textNormal.u-accentColor--textDarken:hover {color: rgba(15, 115, 12, 1) !important;} .u-resetSpectrum .u-accentColor--textDark {color: rgba(15, 115, 12, 1) !important;} .u-resetSpectrum .u-accentColor--backgroundLight {background-color: rgba(26, 137, 23, 1) !important;} .u-resetSpectrum .u-accentColor--backgroundNormal {background-color: rgba(17, 128, 14, 1) !important;} .u-resetSpectrum .u-accentColor--backgroundDark {background-color: rgba(15, 115, 12, 1) !important;} .u-resetSpectrum .u-accentColor--buttonDark {border-color: rgba(17, 128, 14, 1) !important; color: rgba(15, 115, 12, 1) !important;} .u-resetSpectrum .u-accentColor--buttonDark:hover {border-color: rgba(15, 115, 12, 1) !important;} .u-resetSpectrum .u-accentColor--buttonDark .icon:before,.u-resetSpectrum .u-accentColor--buttonDark .svgIcon{color: rgba(15, 115, 12, 1) !important; fill: rgba(15, 115, 12, 1) !important;} .u-resetSpectrum .u-accentColor--buttonNormal:not(.clapButton--largePill) {border-color: rgba(26, 137, 23, 1) !important; color: rgba(17, 128, 14, 1) !important;} .u-resetSpectrum .u-accentColor--buttonNormal:hover {border-color: rgba(17, 128, 14, 1) !important;} .u-resetSpectrum .u-accentColor--buttonNormal .icon:before,.u-resetSpectrum .u-accentColor--buttonNormal .svgIcon{color: rgba(17, 128, 14, 1) !important; fill: rgba(17, 128, 14, 1) !important;} .u-resetSpectrum .u-accentColor--buttonNormal.button--filled .icon:before,.u-resetSpectrum .u-accentColor--buttonNormal.button--filled .svgIcon{color: rgba(255, 255, 255, 1) !important; fill: rgba(255, 255, 255, 1) !important;} .u-resetSpectrum .u-accentColor--buttonDark.button--filled,.u-resetSpectrum .u-accentColor--buttonDark.button--withChrome.is-active,.u-resetSpectrum .u-accentColor--fillWhenActive.is-active {background-color: rgba(15, 115, 12, 1) !important; border-color: rgba(15, 115, 12, 1) !important; color: rgba(255, 255, 255, 1) !important; fill: rgba(255, 255, 255, 1) !important;} .u-resetSpectrum .u-accentColor--buttonNormal.button--filled:not(.clapButton--largePill),.u-resetSpectrum .u-accentColor--buttonNormal.button--withChrome.is-active:not(.clapButton--largePill) {background-color: rgba(17, 128, 14, 1) !important; border-color: rgba(17, 128, 14, 1) !important; color: rgba(255, 255, 255, 1) !important; fill: rgba(255, 255, 255, 1) !important;} .u-resetSpectrum .postArticle.is-withAccentColors .markup--user,.u-resetSpectrum .postArticle.is-withAccentColors .markup--query {color: rgba(17, 128, 14, 1) !important;}</style><div class="js-collectionFooter u-tintBgColor u-hide"><div class="container u-maxWidth1040"><div class="u-marginTop10 u-paddingTop10 u-paddingBottom30 u-tintSpectrum"><div class="linkSet u-clearfix"><div class="u-floatRight u-textColorNormal u-baseColor--textNormal u-xs-floatLeft"><a class="button button--chromeless u-baseColor--buttonNormal u-marginLeft15 u-lineHeight35 u-xs-block u-xs-marginLeft0" href="https://tech.trustpilot.com/about" title="About Trustpilot Technology" aria-label="About Trustpilot Technology" data-collection-slug="trustpilot-tech">About Trustpilot Technology</a><span class="middotDivider u-xs-hide"></span><a class="button button--chromeless u-baseColor--buttonNormal u-lineHeight35 u-xs-block" href="https://tech.trustpilot.com/latest" title="Latest Stories for Trustpilot Technology" aria-label="Latest Stories for Trustpilot Technology" data-collection-slug="trustpilot-tech">Latest Stories</a><span class="middotDivider u-xs-hide"></span><a class="button button--chromeless u-baseColor--buttonNormal u-lineHeight35 u-xs-block" href="https://tech.trustpilot.com/archive" title="Archive for Trustpilot Technology" aria-label="Archive for Trustpilot Technology" data-collection-slug="trustpilot-tech">Archive</a><span class="middotDivider u-xs-hide"></span><a class="button button--chromeless u-baseColor--buttonNormal u-lineHeight35 u-xs-block" href="https://medium.com/about">About Medium</a><span class="middotDivider u-xs-hide"></span><a class="button button--chromeless u-baseColor--buttonNormal u-lineHeight35 u-xs-block" href="https://policy.medium.com/medium-terms-of-service-9db0094a1e0f">Terms</a><span class="middotDivider u-xs-hide"></span><a class="button button--chromeless u-baseColor--buttonNormal u-lineHeight35 u-xs-block" href="https://policy.medium.com/medium-privacy-policy-f03bf92035c9">Privacy</a><span class="middotDivider u-xs-hide"></span><a class="button button--chromeless u-baseColor--buttonNormal u-lineHeight35 u-xs-block" href="https://medium.com/business">Teams</a></div></div></div></div></div></div></div></div><div class="loadingBar"></div><script>// <![CDATA[ window["obvInit"] = function (opt_embedded) {window["obvInit"]["embedded"] = opt_embedded; window["obvInit"]["ready"] = true;} // ]]></script><script>// <![CDATA[ var GLOBALS = {"audioUrl":"https://d1fcbxp97j4nb2.cloudfront.net","baseUrl":"https://tech.trustpilot.com","buildLabel":"20250411-1427-root","currentUser":{"userId":"lo_49113ff67902","isVerified":false,"subscriberEmail":"","hasPastMemberships":false,"isEnrolledInHightower":false,"isEligibleForHightower":true,"hightowerLastLockedAt":0,"isWriterProgramEnrolled":true,"isWriterProgramInvited":false,"isWriterProgramOptedOut":false,"writerProgramVersion":0,"writerProgramEnrolledAt":0,"friendLinkOnboarding":0,"hasAdditionalUnlocks":false,"hasApiAccess":false,"writerProgramDistributionSettingOptedIn":false,"isSuspended":false,"collectionOnboardingSeen":0,"atsQualifiedAt":0},"currentUserHasUnverifiedEmail":false,"isAuthenticated":false,"isCurrentUserVerified":false,"miroUrl":"https://cdn-images-1.medium.com","moduleUrls":{"base":"https://cdn-static-1.medium.com/_/fp/gen-js/main-base.bundle.1QDk7PlNpinRWrqN7Q4_Pg.12.js","common-async":"https://cdn-static-1.medium.com/_/fp/gen-js/main-common-async.bundle.l49OpqrwkRyiGOCpAIcKuQ.12.js","hightower":"https://cdn-static-1.medium.com/_/fp/gen-js/main-hightower.bundle.Sbq5rN7mnRFFhd9663VgQg.12.js","home-screens":"https://cdn-static-1.medium.com/_/fp/gen-js/main-home-screens.bundle.P5DOvs33eZq2vtnRFa9tMw.12.js","misc-screens":"https://cdn-static-1.medium.com/_/fp/gen-js/main-misc-screens.bundle.xex472sRCFYoIullxjy5kw.12.js","notes":"https://cdn-static-1.medium.com/_/fp/gen-js/main-notes.bundle.uUasyPCj--9tvOJrZ2wVdA.12.js","payments":"https://cdn-static-1.medium.com/_/fp/gen-js/main-payments.bundle.QfTt0I9toSma5xqkGX8qjg.12.js","posters":"https://cdn-static-1.medium.com/_/fp/gen-js/main-posters.bundle.fU0CARH_Ay6RO1WXoJA9Sw.12.js","power-readers":"https://cdn-static-1.medium.com/_/fp/gen-js/main-power-readers.bundle.awg6phvqmvH3Xt4l3v8d8A.12.js","pubs":"https://cdn-static-1.medium.com/_/fp/gen-js/main-pubs.bundle.3o-nIeAdAXtv2qH_8KYeqA.12.js","stats":"https://cdn-static-1.medium.com/_/fp/gen-js/main-stats.bundle.kIgMxb5kGqZrzIpjXmhPMw.12.js"},"previewConfig":{"weightThreshold":1,"weightImageParagraph":0.51,"weightIframeParagraph":0.8,"weightTextParagraph":0.08,"weightEmptyParagraph":0,"weightP":0.003,"weightH":0.005,"weightBq":0.003,"minPTextLength":60,"truncateBoundaryChars":20,"detectTitle":true,"detectTitleLevThreshold":0.15},"productName":"Medium","supportsEdit":false,"termsUrl":"//policy.medium.com/medium-terms-of-service-9db0094a1e0f","textshotHost":"textshot.textshot-production.svc.cluster.local","transactionId":"1744385093214:cf1cfe040c71","useragent":{"browser":"ie","family":"ie","os":"windows","version":7,"supportsDesktopEdit":false,"supportsInteract":false,"supportsView":true,"isMobile":false,"isTablet":false,"isNative":false,"supportsFileAPI":false,"isTier1":false,"clientVersion":"","clientChannel":"","supportsRealScrollEvents":false,"supportsVhUnits":false,"ruinsViewportSections":false,"supportsHtml5Video":false,"supportsMagicUnderlines":false,"isWebView":false,"isFacebookWebView":false,"supportsProgressiveMedia":false,"supportsPromotedPosts":true,"isBot":false,"isNativeIphone":false,"supportsCssVariables":false,"supportsVideoSections":true,"emojiSupportLevel":1,"isSearchBot":false,"isSyndicationBot":false,"isNativeAndroid":false,"isNativeIos":false,"isSeoAuditBot":false,"isInternalApp":false,"supportsApplePay":false,"supportsScrollableMetabar":false},"variants":{"allow_access":true,"allow_signup":true,"allow_test_auth":"disallow","android_dense_post_preview":"control","android_enable_editor_new_publishing_flow":true,"android_enable_friend_links_creation":true,"android_enable_friend_links_postpage_banners":true,"android_enable_image_sharer":true,"android_enable_lists_v2":true,"android_enable_syntax_highlight":true,"android_enable_topic_portals":true,"android_rating_prompt_stories_read_threshold":2,"android_two_hour_refresh":true,"available_annual_plan":"2c754bcc2995","available_annual_premium_plan":"4a442ace1476","available_monthly_plan":"60e220181034","available_monthly_premium_plan":"12a660186432","browsable_stream_config_bucket":"curated-topics","can_receive_tips_v0":true,"can_send_tips_v0":true,"coronavirus_topic_recirc":true,"disable_partner_program_enrollment":true,"disable_rex_pub_featuring_recirc":true,"enable_abandoned_cart_promotion_email":true,"enable_abandoned_paywall_promotion_email":true,"enable_android_dynamic_aspirational_paywall":true,"enable_android_dynamic_programming_paywall":true,"enable_android_miro_v2":true,"enable_android_offline_reading":true,"enable_android_verified_author":true,"enable_app_flirty_thirty":true,"enable_apple_sign_in":true,"enable_apple_webhook":true,"enable_aurora_pub_follower_page":true,"enable_author_cards":true,"enable_author_cards_byline":true,"enable_auto_follow_on_subscribe":true,"enable_automod":true,"enable_bg_post_post":true,"enable_boost_experiment":"control","enable_braintree_apple_pay":true,"enable_braintree_client":true,"enable_braintree_google_pay":true,"enable_braintree_integration":true,"enable_braintree_paypal":true,"enable_braintree_trial_membership":true,"enable_braintree_webhook":true,"enable_branch_io":true,"enable_cache_less_following_feed":true,"enable_cancellation_discount_v1_1":true,"enable_configure_pronouns":true,"enable_conversion_model_v2":"group_2","enable_conversion_ranker_v2":"control","enable_creator_welcome_email":true,"enable_deprecate_legacy_providers_v3":true,"enable_deviant_get_variant_flag_from_medium2":true,"enable_diversification_rex":true,"enable_engagement_service_publish_response":true,"enable_entities_to_follow_v2":true,"enable_eventstats_event_processing":true,"enable_export_email_subscribers":true,"enable_footer_app_buttons":true,"enable_google_one_tap":true,"enable_google_webhook":true,"enable_group_gifting":true,"enable_hybrid_ranking_model":"experiment","enable_iceland_forced_android":true,"enable_inline_comments":true,"enable_intrinsic_automatic_actions":true,"enable_ios_autorefresh":true,"enable_ios_dynamic_paywall_aspiriational":true,"enable_ios_dynamic_paywall_programming":true,"enable_ios_easy_resubscribe":true,"enable_ios_offline_reading":true,"enable_legacy_feed_in_iceland":true,"enable_lite_archive_page":true,"enable_lite_continue_this_thread":true,"enable_lite_gql_client_events":true,"enable_lite_homepage":true,"enable_lite_response_markup":true,"enable_lite_server_upstream_deadlines":true,"enable_lo_homepage":"control","enable_maim_the_meter":true,"enable_marketing_emails":true,"enable_mastodon_avatar_upload":true,"enable_mastodon_for_members":true,"enable_mastodon_for_members_username_selection":true,"enable_medium2_kbfd":true,"enable_medium_com_canonical_urls":true,"enable_members_only_audio":true,"enable_ml_rank_rex_anno":true,"enable_moc_load_processor_all_recs_surfaces":true,"enable_moc_load_processor_c":true,"enable_moc_load_processor_first_story":true,"enable_new_manage_membership_flow":true,"enable_new_stripe_customers":true,"enable_newsletter_lo_flow_custom_domains":true,"enable_pill_based_home_feed":true,"enable_post_bottom_responses":true,"enable_post_bottom_responses_input":true,"enable_post_bottom_responses_native":true,"enable_post_publish_permission_check":true,"enable_pp_country_expansion":true,"enable_pp_v4":true,"enable_pre_pp_v4":true,"enable_premium_tier":true,"enable_premium_tier_badge":true,"enable_ranker_v10":"control","enable_recaptcha_enterprise":true,"enable_recirc_model":true,"enable_recommended_publishers_query":true,"enable_rex_aggregator_v2":true,"enable_rex_new_push_notification_endpoint":true,"enable_rex_reading_history":true,"enable_rito_upstream_deadlines":true,"enable_seamless_social_sharing":true,"enable_see_pronouns":true,"enable_sharer_create_post_share_key":true,"enable_sharer_validate_post_share_key":true,"enable_simplified_digest_v2_b":true,"enable_speechify_ios":true,"enable_speechify_widget":true,"enable_sprig":true,"enable_starspace":true,"enable_susi_redesign_android":true,"enable_susi_redesign_ios":true,"enable_switch_plan_premium_tier":true,"enable_tag_recs":true,"enable_tick_landing_page":true,"enable_tipping_v0_android":true,"enable_tipping_v0_ios":true,"enable_tribute_landing_page":true,"enable_trust_service_recaptcha":true,"enable_update_explore_wtf":true,"enable_update_topic_portals_wtf":true,"enable_updated_pub_recs_ui":true,"enable_user_profile_nofollow_attribute":true,"enable_verifications_service":true,"enable_winback_promotion_email":true,"get_highlights_from_engagement":true,"glyph_font_set":"m2-unbound-source-serif-pro","goliath_externalsearch_enable_comment_deindexation":true,"ios_display_paywall_after_onboarding":true,"ios_enable_friend_links_creation":true,"ios_enable_friend_links_postpage_banners":true,"ios_enable_home_post_menu":true,"ios_enable_lock_responses":true,"ios_enable_verified_book_author":true,"ios_iceland_nux":true,"ios_in_app_free_trial":true,"ios_remove_twitter_onboarding_step":true,"ios_social_share_sheet":true,"limit_post_referrers":true,"limit_user_follows":true,"mobile_custom_app_icon":true,"num_post_bottom_responses_to_show":3,"onboarding_tags_from_top_views":true,"reader_fair_distribution_non_qp":true,"redefined_top_posts":true,"reengagement_notification_duration":3,"rex_filter_presentation_count_increase":"experiment_a","rex_generator_max_candidates":1000,"signin_services":"twitter,facebook,google,email,google-fastidv,google-one-tap,apple","signup_services":"twitter,facebook,google,email,google-fastidv,google-one-tap,apple","skip_fs_cache_user_vals":true},"xsrfToken":"","iosAppId":"828256236","supportEmail":"yourfriends@medium.com","fp":{"/icons/monogram-mask.svg":"https://cdn-static-1.medium.com/_/fp/icons/monogram-mask.KPLCSFEZviQN0jQ7veN2RQ.12.svg","/icons/favicon-medium-editor.ico":"https://cdn-static-1.medium.com/_/fp/icons/favicon-medium-editor.PiakrZWB7Yb80quUVQWM6g.12.ico"},"authBaseUrl":"https://medium.com","imageUploadSizeMb":25,"isAuthDomainRequest":false,"domainCollectionSlug":"trustpilot-tech","algoliaApiEndpoint":"https://MQ57UUUQZ2-dsn.algolia.net","algoliaAppId":"MQ57UUUQZ2","algoliaSearchOnlyApiKey":"394474ced050e3911ae2249ecc774921","iosAppStoreUrl":"https://itunes.apple.com/app/medium-everyones-stories/id828256236?pt=698524&mt=8","iosAppLinkBaseUrl":"medium:","algoliaIndexPrefix":"medium_","androidPlayStoreUrl":"https://play.google.com/store/apps/details?id=com.medium.reader","googleClientId":"216296035834-k1k6qe060s2tp2a2jam4ljdcms00sttg.apps.googleusercontent.com","androidPackage":"com.medium.reader","androidPlayStoreMarketScheme":"market://details?id=com.medium.reader","googleAuthUri":"https://accounts.google.com/o/oauth2/auth","androidScheme":"medium","layoutData":{"useDynamicScripts":false,"googleAnalyticsTrackingCode":"G-7JY7T788PK","jsShivUrl":"https://cdn-static-1.medium.com/_/fp/js/shiv.RI2ePTZ5gFmMgLzG5bEVAA.12.js","useDynamicCss":false,"faviconUrl":"https://miro.medium.com/v2/5d8de952517e8160e40ef9841c781cdc14a5db313057fa3c3de41c6f5b494b19","faviconImageId":"5d8de952517e8160e40ef9841c781cdc14a5db313057fa3c3de41c6f5b494b19","fontSets":[{"id":8,"url":"https://glyph.medium.com/css/e/sr/latin/e/ssr/latin/e/ssb/latin/m2-unbound-source-serif-pro.css"},{"id":11,"url":"https://glyph.medium.com/css/m2-unbound-source-serif-pro.css"},{"id":9,"url":"https://glyph.medium.com/css/mkt.css"}],"glyphUrl":"https://glyph.medium.com"},"authBaseUrlRev":"moc.muidem//:sptth","stripePublishableKey":"pk_live_7FReX44VnNIInZwrIIx6ghjl","archiveUploadSizeMb":100,"previewConfig2":{"weightThreshold":1,"weightImageParagraph":0.05,"raiseImage":true,"enforceHeaderHierarchy":true,"isImageInsetRight":true},"isAmp":false,"iosScheme":"medium","facebook":{"key":"542599432471018","namespace":"medium-com","scope":{"default":["public_profile","email"],"connect":["public_profile","email"],"login":["public_profile","email"],"share":["public_profile","email"]}},"memberContentTopicId":"13d7efd82fb2","audioContentTopicId":"3792abbd134","isDoNotAuth":false,"buggle":{"videoUrl":"https://cdn-videos-1.medium.com","audioUrl":"https://cdn-audio-1.medium.com"},"referrerType":5,"partnerProgramEmail":"partnerprogram@medium.com","recaptchaKey":"6Lfc37IUAAAAAKGGtC6rLS13R1Hrw_BqADfS1LRk","countryCode":"SG","bypassMeter":false,"branchKey":"key_live_ofxXr2qTrrU9NqURK8ZwEhknBxiI6KBm","paypal":{"clientMode":"production","oneYearGift":{"name":"Medium Membership (1 Year, Digital Gift Code)","description":"Unlimited access to the best and brightest stories on Medium. Gift codes can be redeemed at medium.com/redeem.","price":"50.00","currency":"USD","sku":"membership-gift-1-yr"}},"collectionConfig":{"mediumOwnedAndOperatedCollectionIds":["8a9336e5bb4","b7e45b22fec3","193b68bd4fba","8d6b8a439e32","54c98c43354d","3f6ecf56618","d944778ce714","92d2092dc598","ae2a65f35510","1285ba81cada","544c7006046e","fc8964313712","40187e704f1c","88d9857e584e","7b6769f2748b","bcc38c8f6edf","cef6983b292","cb8577c9149e","444d13b52878","713d7dbc99b0","ef8e90590e66","191186aaafa0","55760f21cdc5","9dc80918cc93","bdc4052bbdba","8ccfed20cbb2"]},"bypassMeterWithShareKey":false,"recaptcha3Key":"6Lf8R9wUAAAAABMI_85Wb8melS7Zj6ziuf99Yot5","braintreeClientKey":"production_zjkj96jm_m56f8fqpf7ngnrd4","cdcMessaging":[{"text":"For more information on the novel coronavirus and Covid-19, visit ","href":"","type":"text","start":0,"end":0},{"text":"cdc.gov","href":"https://www.cdc.gov/coronavirus/2019-nCoV","type":"link","start":66,"end":73},{"text":".","href":"","type":"text","start":0,"end":0}],"braintree":{"merchantId":"m56f8fqpf7ngnrd4"},"diagnostics":{},"domain":"medium.com"} // ]]></script><script charset="UTF-8" src="https://cdn-static-1.medium.com/_/fp/gen-js/main-base.bundle.1QDk7PlNpinRWrqN7Q4_Pg.12.js" async></script><script>// <![CDATA[ window["obvInit"]({"references":{"Collection":{"8a738464d869":{"id":"8a738464d869","name":"Trustpilot Technology","slug":"trustpilot-tech","tags":["TRUSTPILOT","TECHNOLOGY","AI","SOFTWARE ENGINEERING","ONLINE REVIEWS"],"creatorId":"8df8da189482","description":"How we work to make the world more transparent","shortDescription":"How we work to make the world more transparent","image":{"imageId":"1*NdgVkRGY2UbLt_YGZSLEog.png","filter":"","backgroundSize":"","originalWidth":566,"originalHeight":539,"strategy":"resample","height":0,"width":0},"metadata":{"followerCount":256,"activeAt":1719999645401},"virtuals":{"permissions":{"canPublish":false,"canPublishAll":false,"canRepublish":false,"canRemove":false,"canManageAll":false,"canSubmit":false,"canEditPosts":false,"canAddWriters":false,"canViewStats":false,"canSendNewsletter":false,"canViewLockedPosts":false,"canViewCloaked":false,"canEditOwnPosts":false,"canBeAssignedAuthor":false,"canEnrollInHightower":false,"canLockPostsForMediumMembers":false,"canLockOwnPostsForMediumMembers":false,"canViewNewsletterV2Stats":false,"canCreateNewsletterV3":false},"isSubscribed":false,"isEnrolledInHightower":false,"isEligibleForHightower":false,"isSubscribedToCollectionEmails":false,"isMuted":false,"canToggleEmail":false,"isWriter":false},"logo":{"imageId":"1*wjsfWssyBBLzMPQQMQBPTQ.png","filter":"","backgroundSize":"","originalWidth":1134,"originalHeight":279,"strategy":"resample","height":0,"width":0},"twitterUsername":"Trustpilot","domain":"tech.trustpilot.com","sections":[{"type":2,"collectionHeaderMetadata":{"backgroundImage":{},"logoImage":{"id":"1*wjsfWssyBBLzMPQQMQBPTQ@2x.png","originalWidth":1134,"originalHeight":279,"alt":"Trustpilot Technology"},"alignment":2,"layout":4}},{"type":1,"postListMetadata":{"source":1,"layout":4,"number":7,"postIds":[]}}],"tintColor":"#FF000032","lightText":true,"favicon":{"imageId":"1*NdgVkRGY2UbLt_YGZSLEog.png","filter":"","backgroundSize":"","originalWidth":566,"originalHeight":539,"strategy":"resample","height":0,"width":0},"colorPalette":{"defaultBackgroundSpectrum":{"colorPoints":[{"color":"#FF7186B3","point":0},{"color":"#FF697CA5","point":0.1},{"color":"#FF627397","point":0.2},{"color":"#FF5A6989","point":0.3},{"color":"#FF525F7B","point":0.4},{"color":"#FF4A556D","point":0.5},{"color":"#FF414A5E","point":0.6},{"color":"#FF383F4F","point":0.7},{"color":"#FF2E3440","point":0.8},{"color":"#FF232731","point":0.9},{"color":"#FF171A21","point":1}],"backgroundColor":"#FFFFFFFF"},"tintBackgroundSpectrum":{"colorPoints":[{"color":"#FF000032","point":0},{"color":"#FF18284D","point":0.1},{"color":"#FF364567","point":0.2},{"color":"#FF505F7E","point":0.3},{"color":"#FF697793","point":0.4},{"color":"#FF818DA7","point":0.5},{"color":"#FF98A2B9","point":0.6},{"color":"#FFAFB7CA","point":0.7},{"color":"#FFC4CADB","point":0.8},{"color":"#FFD9DEEB","point":0.9},{"color":"#FFEEF1FB","point":1}],"backgroundColor":"#FF000032"},"highlightSpectrum":{"colorPoints":[{"color":"#FFEFF3FF","point":0},{"color":"#FFECF1FF","point":0.1},{"color":"#FFE9EFFF","point":0.2},{"color":"#FFE6EDFF","point":0.3},{"color":"#FFE3ECFF","point":0.4},{"color":"#FFE0EAFF","point":0.5},{"color":"#FFDDE8FF","point":0.6},{"color":"#FFD9E6FF","point":0.7},{"color":"#FFD6E4FF","point":0.8},{"color":"#FFD3E3FF","point":0.9},{"color":"#FFD0E1FF","point":1}],"backgroundColor":"#FFFFFFFF"},"darkBackgroundSpectrum":{"colorPoints":[{"color":"#FF889ECD","point":0},{"color":"#FF93A6D1","point":0.1},{"color":"#FF9DAFD6","point":0.2},{"color":"#FFA7B7DB","point":0.3},{"color":"#FFB1BFDF","point":0.4},{"color":"#FFBBC7E3","point":0.5},{"color":"#FFC5CFE8","point":0.6},{"color":"#FFCFD7EC","point":0.7},{"color":"#FFD9DFF0","point":0.8},{"color":"#FFE2E7F4","point":0.9},{"color":"#FFECEEF8","point":1}],"backgroundColor":"#FF000000"}},"navItems":[{"type":1,"title":"Engineering","tagSlug":"engineering","url":"https://tech.trustpilot.com/tagged/engineering","source":"tagSlug"},{"type":1,"title":"Product Management","tagSlug":"product-management","url":"https://tech.trustpilot.com/tagged/product-management","source":"tagSlug"},{"type":1,"title":"UX/Design","tagSlug":"ux","url":"https://tech.trustpilot.com/tagged/ux","source":"tagSlug"},{"type":1,"title":"Data Science","tagSlug":"data-science","url":"https://tech.trustpilot.com/tagged/data-science","source":"tagSlug"}],"colorBehavior":2,"collectionFeatures":[30],"ampLogo":{"imageId":"","filter":"","backgroundSize":"","originalWidth":0,"originalHeight":0,"strategy":"resample","height":0,"width":0},"header":{"backgroundImage":{},"logoImage":{"id":"1*wjsfWssyBBLzMPQQMQBPTQ@2x.png","originalWidth":1134,"originalHeight":279,"alt":"Trustpilot Technology"},"alignment":2,"layout":4},"paidForDomainAt":1504601048304,"subscriberCount":256,"tagline":"How we work to make the world more transparent","isOptedIntoAurora":false,"isCurationAllowedByDefault":false,"polarisCoverImage":{"imageId":"","filter":"","backgroundSize":"","originalWidth":0,"originalHeight":0,"strategy":"resample","height":0,"width":0},"ptsQualifiedAt":1616092764096,"type":"Collection"}},"User":{"3c1734d3aa56":{"userId":"3c1734d3aa56","name":"Jamie Geddes","username":"jamiegeddes","createdAt":1585567143280,"imageId":"1*EssrqFujSJp84YVZAFwp-Q.jpeg","backgroundImageId":"","bio":"I work as a Staff Engineer at Trustpilot, focusing on the B2B application and supporting backend services including generative AI features.","twitterScreenName":"","allowNotes":1,"mediumMemberAt":0,"isWriterProgramEnrolled":true,"isSuspended":false,"isMembershipTrialEligible":true,"facebookDisplayName":"Jamie Geddes","optInToIceland":true,"hasCompletedProfile":false,"userDismissableFlags":[8,5,29,12,2,33],"hasSeenIcelandOnboarding":false,"postSubscribeMembershipUpsellShownAt":0,"languageCode":"en-gb","type":"User"},"74188c0bf1ba":{"userId":"74188c0bf1ba","name":"Cvetanov Goce","username":"cvetanov","createdAt":1459414717624,"imageId":"2*mPS5Gcd9w6iNUKPrZmydpg.png","backgroundImageId":"","bio":"Software Engineer, loves books, running, stoicism","allowNotes":1,"mediumMemberAt":0,"isWriterProgramEnrolled":true,"isSuspended":false,"isMembershipTrialEligible":true,"optInToIceland":true,"hasCompletedProfile":false,"userDismissableFlags":[29,12,8,5,21,2,33],"hasSeenIcelandOnboarding":false,"postSubscribeMembershipUpsellShownAt":0,"languageCode":"en-us","type":"User"},"b0df41a007b6":{"userId":"b0df41a007b6","name":"Chris Dobson","username":"chrd","createdAt":1694937261314,"imageId":"0*p4ITji0Yl2CBqCM6","backgroundImageId":"","bio":"Senior software engineer at Trustpilot & AWS Community Builder","twitterScreenName":"","allowNotes":1,"mediumMemberAt":1735413531000,"isWriterProgramEnrolled":true,"isSuspended":false,"firstOpenedAndroidApp":1694940217850,"isMembershipTrialEligible":true,"facebookDisplayName":"","optInToIceland":true,"hasCompletedProfile":false,"userDismissableFlags":[50,29,53,49],"hasSeenIcelandOnboarding":true,"postSubscribeMembershipUpsellShownAt":0,"languageCode":"en-gb","type":"User"},"c99234f0b681":{"userId":"c99234f0b681","name":"David Walker","username":"dwlk","createdAt":1698052346360,"imageId":"0*swrSRbZ0grxND112","backgroundImageId":"","bio":"David is a Staff Engineer at Trustpilot who enjoys tackling data-related problems, follow him at https://www.linkedin.com/in/david--walker/ or on X @dwalker_84","twitterScreenName":"","allowNotes":1,"mediumMemberAt":0,"isWriterProgramEnrolled":true,"isSuspended":false,"isMembershipTrialEligible":true,"facebookDisplayName":"","optInToIceland":true,"hasCompletedProfile":false,"userDismissableFlags":[29],"hasSeenIcelandOnboarding":false,"postSubscribeMembershipUpsellShownAt":0,"languageCode":"en-gb","type":"User"},"68e40518b7b4":{"userId":"68e40518b7b4","name":"Olga Saukh","username":"savorli","createdAt":1556110996832,"imageId":"1*reR4C3YlAM95m40O6eQxiA.jpeg","backgroundImageId":"","bio":"Engineer passioned about drawing, photography, traveling, mountains and hiking.","twitterScreenName":"","allowNotes":1,"mediumMemberAt":0,"isWriterProgramEnrolled":true,"isSuspended":false,"firstOpenedIosApp":1656830863355,"isMembershipTrialEligible":true,"facebookDisplayName":"","optInToIceland":true,"hasCompletedProfile":false,"userDismissableFlags":[29,8,21,30,3,2,18,33],"hasSeenIcelandOnboarding":true,"postSubscribeMembershipUpsellShownAt":0,"languageCode":"en-gb","type":"User"},"9257fd122a38":{"userId":"9257fd122a38","name":"Dana Aonofriesei","username":"dao_46598","createdAt":1505121194060,"imageId":"1*H_7RRURB8JARLvXT-cWQog.png","backgroundImageId":"","bio":"","twitterScreenName":"","allowNotes":1,"mediumMemberAt":0,"isWriterProgramEnrolled":true,"isSuspended":false,"isMembershipTrialEligible":true,"facebookDisplayName":"","optInToIceland":true,"hasCompletedProfile":false,"userDismissableFlags":[2],"hasSeenIcelandOnboarding":false,"postSubscribeMembershipUpsellShownAt":0,"languageCode":"en-gb","type":"User"},"510e74c09938":{"userId":"510e74c09938","name":"Eli Marchevsky","username":"elithe-91899","createdAt":1532000631690,"imageId":"1*maW9Rax_3kiUWpU06PpMjw.png","backgroundImageId":"","bio":"","twitterScreenName":"","allowNotes":1,"mediumMemberAt":0,"isWriterProgramEnrolled":true,"isSuspended":false,"isMembershipTrialEligible":true,"facebookDisplayName":"Eli Marchevsky","optInToIceland":true,"subdomainCreatedAt":1617467565574,"hasCompletedProfile":true,"userDismissableFlags":[2,18,1],"hasSeenIcelandOnboarding":false,"postSubscribeMembershipUpsellShownAt":0,"languageCode":"en-us","type":"User"}},"Post":{"8875d3d80157":{"id":"8875d3d80157","versionId":"8c4d9d328fbe","creatorId":"3c1734d3aa56","homeCollectionId":"8a738464d869","title":"Unleashing the Potential of Generative AI: building an AI enabled product feature","detectedLanguage":"en","latestVersion":"8c4d9d328fbe","latestPublishedVersion":"8c4d9d328fbe","hasUnpublishedEdits":false,"latestRev":189,"createdAt":1719911886720,"updatedAt":1732220914901,"acceptedAt":0,"firstPublishedAt":1719915961581,"latestPublishedAt":1719999645332,"vote":false,"experimentalCss":"","displayAuthor":"","content":{"subtitle":"How we introduced a generative AI product feature into the Trustpilot platform","postDisplay":{"coverless":true}},"virtuals":{"statusForCollection":"APPROVED","allowNotes":true,"previewImage":{"imageId":"1*RkMcg-27cCbiAt9oguVVng.png","filter":"","backgroundSize":"","originalWidth":1792,"originalHeight":1024,"strategy":"resample","height":0,"width":0},"wordCount":2258,"imageCount":5,"readingTime":9.354088050314466,"subtitle":"How we introduced a generative AI product feature into the Trustpilot platform","publishedInCount":1,"usersBySocialRecommends":[],"noIndex":false,"recommends":10,"isBookmarked":false,"tags":[{"slug":"generative-ai-use-cases","name":"Generative Ai Use Cases","postCount":6338,"metadata":{"postCount":6338,"coverImage":{"id":"1*q9pBkctWBDfDxmh5j8fGmA.png","originalWidth":3405,"originalHeight":1560,"isFeatured":true}},"type":"Tag"},{"slug":"palm-2","name":"Palm 2","postCount":79,"metadata":{"postCount":79,"coverImage":{"id":"1*vPAuEfScLY6mPv4sqdm2Dw.png","originalWidth":1077,"originalHeight":494,"isFeatured":true}},"type":"Tag"},{"slug":"gemini","name":"Gemini","postCount":6327,"metadata":{"postCount":6327,"coverImage":{"id":"1*nI_hhzL5l94Pvdtlzs32oA.png","originalWidth":1200,"originalHeight":628}},"type":"Tag"},{"slug":"trustpilot","name":"Trustpilot","postCount":129,"metadata":{"postCount":129,"coverImage":{"id":"0*YpOuTRmbFv2blBkU","originalWidth":3999,"originalHeight":2666,"isFeatured":true,"unsplashPhotoId":"-fRAIQHKcc0"}},"type":"Tag"},{"slug":"llm","name":"Llm","postCount":38822,"metadata":{"postCount":38822,"coverImage":{"id":"1*o7zKohunJmIOMycqXs4V8w.jpeg","originalWidth":1459,"originalHeight":1459,"isFeatured":true}},"type":"Tag"}],"socialRecommendsCount":0,"responsesCreatedCount":2,"links":{"entries":[{"url":"https://gemini.google.com/","alts":[],"httpStatus":200},{"url":"https://www.trustpilot.com/","alts":[],"httpStatus":200},{"url":"https://openai.com/index/dall-e-3/","alts":[],"httpStatus":403},{"url":"https://openai.com/","alts":[],"httpStatus":403},{"url":"https://www.atlassian.com/platform/artificial-intelligence","alts":[],"httpStatus":200},{"url":"https://en.wikipedia.org/wiki/Data_sovereignty","alts":[],"httpStatus":200},{"url":"https://owasp.org/www-project-top-10-for-large-language-model-applications/Archive/0_1_vulns/Prompt_Injection.html","alts":[],"httpStatus":200},{"url":"https://www.pinecone.io/","alts":[],"httpStatus":200},{"url":"https://ai.google/discover/palm2/","alts":[],"httpStatus":200},{"url":"https://en.wikipedia.org/wiki/Cosine_similarity","alts":[],"httpStatus":200},{"url":"https://en.wikipedia.org/wiki/Hallucination_(artificial_intelligence)","alts":[],"httpStatus":200},{"url":"https://cloud.google.com/blog/topics/developers-practitioners/meet-ais-multitool-vector-embeddings","alts":[],"httpStatus":200},{"url":"https://cloud.google.com/","alts":[],"httpStatus":200},{"url":"https://github.com/features/copilot","alts":[],"httpStatus":200},{"url":"https://cloud.google.com/bigquery","alts":[],"httpStatus":200},{"url":"https://cloud.google.com/looker","alts":[],"httpStatus":200},{"url":"https://trustpilot.com/","alts":[],"httpStatus":200},{"url":"https://cloud.google.com/run","alts":[],"httpStatus":200},{"url":"https://cloud.google.com/vertex-ai/generative-ai/pricing","alts":[],"httpStatus":200},{"url":"https://cloud.google.com/pubsub","alts":[],"httpStatus":200},{"url":"https://firebase.google.com/docs/firestore","alts":[],"httpStatus":200},{"url":"https://llama.meta.com/","alts":[],"httpStatus":200},{"url":"https://research.ibm.com/blog/retrieval-augmented-generation-RAG","alts":[],"httpStatus":405},{"url":"https://cloud.google.com/vertex-ai","alts":[],"httpStatus":200}],"version":"0.3","generatedAt":1719999646688},"isLockedPreviewOnly":false,"metaDescription":"","totalClapCount":22,"sectionCount":1,"readingList":0,"topics":[{"topicId":"1af65db9c2f8","slug":"artificial-intelligence","createdAt":1487916832419,"deletedAt":0,"image":{"id":"1*A28aHchbaA8zNVXraBq0Ug@2x.jpeg","originalWidth":4866,"originalHeight":3244},"name":"Artificial Intelligence","description":"Born to be bot.","relatedTopics":[],"visibility":1,"relatedTags":[],"relatedTopicIds":[],"seoTitle":"AI News and Artificial Intelligence Articles — Medium","type":"Topic"}]},"coverless":true,"slug":"unleashing-the-potential-of-generative-ai-building-an-ai-enabled-product-feature","translationSourcePostId":"","translationSourceCreatorId":"","isApprovedTranslation":false,"inResponseToPostId":"","inResponseToRemovedAt":0,"isTitleSynthesized":false,"allowResponses":true,"importedUrl":"","importedPublishedAt":0,"visibility":0,"uniqueSlug":"unleashing-the-potential-of-generative-ai-building-an-ai-enabled-product-feature-8875d3d80157","previewContent":{"bodyModel":{"paragraphs":[{"name":"previewImage","type":4,"text":"","layout":10,"metadata":{"id":"1*RkMcg-27cCbiAt9oguVVng.png","originalWidth":1792,"originalHeight":1024,"isFeatured":true}},{"name":"previewTitle","type":3,"text":"Unleashing the Potential of Generative AI: building an AI enabled product feature","alignment":1},{"name":"previewSubtitle","type":13,"text":"How we introduced a…","alignment":1}],"sections":[{"startIndex":0}]},"isFullContent":false,"subtitle":"How we introduced a generative AI product feature into the Trustpilot platform"},"license":0,"inResponseToMediaResourceId":"","canonicalUrl":"","approvedHomeCollectionId":"8a738464d869","isNewsletter":false,"newsletterId":"","webCanonicalUrl":"","mediumUrl":"","migrationId":"","notifyFollowers":true,"notifyTwitter":false,"notifyFacebook":false,"responseHiddenOnParentPostAt":0,"isSeries":false,"isSubscriptionLocked":false,"seriesLastAppendedAt":0,"audioVersionDurationSec":0,"sequenceId":"","isEligibleForRevenue":false,"isBlockedFromHightower":false,"deletedAt":0,"lockedPostSource":0,"hightowerMinimumGuaranteeStartsAt":0,"hightowerMinimumGuaranteeEndsAt":0,"featureLockRequestAcceptedAt":0,"mongerRequestType":1,"layerCake":0,"socialTitle":"","socialDek":"","editorialPreviewTitle":"","editorialPreviewDek":"","curationEligibleAt":0,"isProxyPost":false,"proxyPostFaviconUrl":"","proxyPostProviderName":"","proxyPostType":0,"isSuspended":false,"isLimitedState":false,"seoTitle":"","previewContent2":{"bodyModel":{"paragraphs":[{"name":"7584","type":3,"text":"Unleashing the Potential of Generative AI: building an AI enabled product feature","markups":[]},{"name":"c8c4","type":4,"text":"AI review responses. Image credit DALL-E","markups":[],"layout":1,"metadata":{"id":"1*RkMcg-27cCbiAt9oguVVng.png","originalWidth":1792,"originalHeight":1024,"isFeatured":true}},{"name":"60ec","type":3,"text":"Introduction","markups":[]},{"name":"1894","type":1,"text":"As a leading online platform for service reviews, at Trustpilot we’re used to dealing with significant volumes of data. Emerging generative artificial intelligence (AI) techniques offer us new ways to derive valuable insights from all this data, and use it in ways that ease the workload of our customers.","markups":[{"type":3,"start":53,"end":63,"href":"https://www.trustpilot.com/","title":"","rel":"","anchorType":0}]},{"name":"ea10","type":1,"text":"With…","markups":[]}],"sections":[{"name":"ff83","startIndex":0}]},"isFullContent":false,"subtitle":"How we introduced a generative AI product feature into the Trustpilot platform"},"cardType":0,"isDistributionAlertDismissed":false,"isShortform":false,"shortformType":0,"responsesLocked":false,"isLockedResponse":false,"isPublishToEmail":false,"responseDistribution":0,"isMarkedPaywallOnly":false,"type":"Post"},"1500726be1b2":{"id":"1500726be1b2","versionId":"19041c4816c3","creatorId":"74188c0bf1ba","homeCollectionId":"8a738464d869","title":"AWS Event Bridge Scheduler as a workaround to SQS Fifo queue limitations","detectedLanguage":"en","latestVersion":"19041c4816c3","latestPublishedVersion":"19041c4816c3","hasUnpublishedEdits":false,"latestRev":234,"createdAt":1710922579668,"updatedAt":1732780478136,"acceptedAt":0,"firstPublishedAt":1713819940517,"latestPublishedAt":1713819940517,"vote":false,"experimentalCss":"","displayAuthor":"","content":{"subtitle":"Intro","postDisplay":{"coverless":true}},"virtuals":{"statusForCollection":"APPROVED","allowNotes":true,"previewImage":{"imageId":"1*yFzqysSPDKZa5SDJIVgIcA.png","filter":"","backgroundSize":"","originalWidth":953,"originalHeight":414,"strategy":"resample","height":0,"width":0},"wordCount":1036,"imageCount":4,"readingTime":4.609433962264151,"subtitle":"Intro","publishedInCount":1,"usersBySocialRecommends":[],"noIndex":false,"recommends":4,"isBookmarked":false,"tags":[{"slug":"aws","name":"AWS","postCount":127200,"metadata":{"postCount":127200,"coverImage":{"id":"1*iEHC2DrC8Z0KKjrzwAa3cQ@2x.jpeg","originalWidth":1024,"originalHeight":1024,"backgroundSize":"","filter":"","isFeatured":false,"externalSrc":"","focusPercentX":-1,"focusPercentY":-1,"alt":"","repairedAt":0,"unsplashPhotoId":""}},"type":"Tag"},{"slug":"eventbridge","name":"Eventbridge","postCount":419,"metadata":{"postCount":419,"coverImage":{"id":"1*3-xhs_a3gr0L9ffPUA1vcg.png","originalWidth":690,"originalHeight":344,"isFeatured":true}},"type":"Tag"},{"slug":"sqs","name":"Sqs","postCount":887,"metadata":{"postCount":887,"coverImage":{"id":"0*nLZwliKwnnbhQhnH","originalWidth":767,"originalHeight":466,"isFeatured":true}},"type":"Tag"},{"slug":"lambda","name":"Lambda","postCount":6578,"metadata":{"postCount":6578,"coverImage":{"id":"0*Q4f2y_-Wl0ioyPj_","originalWidth":5341,"originalHeight":3624,"isFeatured":true,"unsplashPhotoId":"Tyqek1L8ldI"}},"type":"Tag"},{"slug":"trustpilot","name":"Trustpilot","postCount":129,"metadata":{"postCount":129,"coverImage":{"id":"0*YpOuTRmbFv2blBkU","originalWidth":3999,"originalHeight":2666,"isFeatured":true,"unsplashPhotoId":"-fRAIQHKcc0"}},"type":"Tag"}],"socialRecommendsCount":0,"responsesCreatedCount":2,"links":{"entries":[{"url":"https://docs.aws.amazon.com/AWSSimpleQueueService/latest/SQSDeveloperGuide/sqs-message-timers.html","alts":[],"httpStatus":200},{"url":"https://docs.aws.amazon.com/scheduler/latest/UserGuide/managing-schedule-group.html","alts":[],"httpStatus":200},{"url":"https://docs.aws.amazon.com/scheduler/latest/UserGuide/what-is-scheduler.html","alts":[],"httpStatus":200},{"url":"https://docs.aws.amazon.com/scheduler/latest/UserGuide/schedule-types.html#one-time","alts":[],"httpStatus":200},{"url":"https://docs.aws.amazon.com/AWSSimpleQueueService/latest/SQSDeveloperGuide/sqs-delay-queues.html","alts":[],"httpStatus":200},{"url":"https://docs.aws.amazon.com/scheduler/latest/UserGuide/scheduler-quotas.html","alts":[],"httpStatus":200}],"version":"0.3","generatedAt":1713819940797},"isLockedPreviewOnly":false,"metaDescription":"","totalClapCount":15,"sectionCount":2,"readingList":0,"topics":[{"topicId":"decb52b64abf","slug":"programming","createdAt":1493934116328,"deletedAt":0,"image":{"id":"1*iPa136b1cGEO7lvoXg6uHQ@2x.jpeg","originalWidth":6016,"originalHeight":4016},"name":"Programming","description":"The good, the bad, the buggy.","relatedTopics":[],"visibility":1,"relatedTags":[],"relatedTopicIds":[],"seoTitle":"Programming News and Articles — Medium","type":"Topic"}]},"coverless":true,"slug":"aws-event-bridge-scheduler-as-a-workaround-to-sqs-fifo-queue-limitations","translationSourcePostId":"","translationSourceCreatorId":"","isApprovedTranslation":false,"inResponseToPostId":"","inResponseToRemovedAt":0,"isTitleSynthesized":true,"allowResponses":true,"importedUrl":"","importedPublishedAt":0,"visibility":0,"uniqueSlug":"aws-event-bridge-scheduler-as-a-workaround-to-sqs-fifo-queue-limitations-1500726be1b2","previewContent":{"bodyModel":{"paragraphs":[{"name":"previewImage","type":4,"text":"","layout":10,"metadata":{"id":"1*yFzqysSPDKZa5SDJIVgIcA.png","originalWidth":953,"originalHeight":414,"isFeatured":true}},{"name":"8d51","type":3,"text":"AWS Event Bridge Scheduler as a workaround to SQS Fifo queue limitations","markups":[],"alignment":1},{"name":"61a9","type":3,"text":"Intro","markups":[],"alignment":1}],"sections":[{"startIndex":0}]},"isFullContent":false,"subtitle":"Intro"},"license":0,"inResponseToMediaResourceId":"","canonicalUrl":"","approvedHomeCollectionId":"8a738464d869","isNewsletter":false,"newsletterId":"","webCanonicalUrl":"","mediumUrl":"","migrationId":"","notifyFollowers":true,"notifyTwitter":false,"notifyFacebook":false,"responseHiddenOnParentPostAt":0,"isSeries":false,"isSubscriptionLocked":false,"seriesLastAppendedAt":0,"audioVersionDurationSec":0,"sequenceId":"","isEligibleForRevenue":false,"isBlockedFromHightower":false,"deletedAt":0,"lockedPostSource":0,"hightowerMinimumGuaranteeStartsAt":0,"hightowerMinimumGuaranteeEndsAt":0,"featureLockRequestAcceptedAt":0,"mongerRequestType":1,"layerCake":0,"socialTitle":"","socialDek":"","editorialPreviewTitle":"","editorialPreviewDek":"","curationEligibleAt":0,"isProxyPost":false,"proxyPostFaviconUrl":"","proxyPostProviderName":"","proxyPostType":0,"isSuspended":false,"isLimitedState":false,"seoTitle":"","previewContent2":{"bodyModel":{"paragraphs":[{"name":"8d51","type":3,"text":"AWS Event Bridge Scheduler as a workaround to SQS Fifo queue limitations","markups":[]},{"name":"61a9","type":3,"text":"Intro","markups":[]},{"name":"9959","type":1,"text":"At Trustpilot, we rely heavily on AWS SQS for making our systems more robust and processing the operations that we can in an async manner. In most of these scenarios, the producer pushes a message to a queue, a consumer picks it up immediately and starts processing it. In other…","markups":[]}],"sections":[{"name":"b0cf","startIndex":0}]},"isFullContent":false,"subtitle":"Intro"},"cardType":0,"isDistributionAlertDismissed":false,"isShortform":false,"shortformType":0,"responsesLocked":false,"isLockedResponse":false,"isPublishToEmail":false,"responseDistribution":0,"isMarkedPaywallOnly":false,"type":"Post"},"69faed925bc9":{"id":"69faed925bc9","versionId":"5cd91b503448","creatorId":"b0df41a007b6","homeCollectionId":"8a738464d869","title":"Accelerating AWS deployments","detectedLanguage":"en","latestVersion":"5cd91b503448","latestPublishedVersion":"5cd91b503448","hasUnpublishedEdits":false,"latestRev":405,"createdAt":1709125619268,"updatedAt":1710254466712,"acceptedAt":0,"firstPublishedAt":1709129227536,"latestPublishedAt":1710254463635,"vote":false,"experimentalCss":"","displayAuthor":"","content":{"subtitle":"How we implemented continuous deployment for existing AWS workloads","postDisplay":{"coverless":true}},"virtuals":{"statusForCollection":"APPROVED","allowNotes":true,"previewImage":{"imageId":"1*SbcK6_M0iZyTYGHlKSX70w.png","filter":"","backgroundSize":"","originalWidth":548,"originalHeight":509,"strategy":"resample","height":0,"width":0},"wordCount":2092,"imageCount":11,"readingTime":9.19433962264151,"subtitle":"How we implemented continuous deployment for existing AWS workloads","publishedInCount":1,"usersBySocialRecommends":[],"noIndex":false,"recommends":3,"isBookmarked":false,"tags":[{"slug":"aws","name":"AWS","postCount":127200,"metadata":{"postCount":127200,"coverImage":{"id":"1*iEHC2DrC8Z0KKjrzwAa3cQ@2x.jpeg","originalWidth":1024,"originalHeight":1024,"backgroundSize":"","filter":"","isFeatured":false,"externalSrc":"","focusPercentX":-1,"focusPercentY":-1,"alt":"","repairedAt":0,"unsplashPhotoId":""}},"type":"Tag"},{"slug":"step-functions","name":"Step Functions","postCount":347,"metadata":{"postCount":347,"coverImage":{"id":"1*g44q5iguef5_n7zGpxJ7PQ.jpeg","originalWidth":1456,"originalHeight":816,"isFeatured":true}},"type":"Tag"},{"slug":"continuous-deployment","name":"Continuous Deployment","postCount":1697,"metadata":{"postCount":1697,"coverImage":{"id":"0*I594UJzEU6ZWrCA4.png","originalWidth":1040,"originalHeight":520,"isFeatured":true}},"type":"Tag"},{"slug":"software-engineering","name":"Software Engineering","postCount":126880,"metadata":{"postCount":126880,"coverImage":{"id":"1*pRSPaYJvobMKnMdID45a9g.jpeg","originalWidth":1200,"originalHeight":800,"isFeatured":true}},"type":"Tag"},{"slug":"software-development","name":"Software Development","postCount":352234,"metadata":{"postCount":352234,"coverImage":{"id":"0*hb5uoz2BcjEvQwQo.jpg","originalWidth":800,"originalHeight":500,"isFeatured":true}},"type":"Tag"}],"socialRecommendsCount":0,"responsesCreatedCount":3,"links":{"entries":[{"url":"https://martinfowler.com/bliki/BlueGreenDeployment.html","alts":[],"httpStatus":200},{"url":"https://github.com/","alts":[],"httpStatus":200},{"url":"https://www.blazemeter.com/","alts":[],"httpStatus":200},{"url":"https://docs.github.com/en/repositories/releasing-projects-on-github/about-releases","alts":[],"httpStatus":200},{"url":"https://aws.amazon.com/cloudformation/","alts":[],"httpStatus":200},{"url":"https://jestjs.io/","alts":[],"httpStatus":200},{"url":"https://aws.amazon.com/s3/","alts":[],"httpStatus":200},{"url":"https://aws.amazon.com/elasticloadbalancing/application-load-balancer/","alts":[],"httpStatus":200},{"url":"https://aws.amazon.com/fargate/","alts":[],"httpStatus":200},{"url":"https://aws.amazon.com/step-functions/","alts":[],"httpStatus":200},{"url":"https://aws.amazon.com/lambda/","alts":[],"httpStatus":200},{"url":"https://aws.amazon.com/dynamodb/","alts":[],"httpStatus":200},{"url":"https://github.com/features/actions","alts":[],"httpStatus":200},{"url":"https://docs.aws.amazon.com/serverless-application-model/latest/developerguide/what-is-sam.html","alts":[],"httpStatus":200},{"url":"https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/template-custom-resources.html","alts":[],"httpStatus":200},{"url":"https://docs.aws.amazon.com/AmazonECS/latest/APIReference/API_DeleteService.html","alts":[],"httpStatus":200},{"url":"https://docs.aws.amazon.com/elasticloadbalancing/latest/application/load-balancer-target-groups.html","alts":[],"httpStatus":200},{"url":"https://docs.aws.amazon.com/elasticloadbalancing/latest/application/listener-update-rules.html","alts":[],"httpStatus":200},{"url":"https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/AlarmThatSendsEmail.html","alts":[],"httpStatus":200},{"url":"https://docs.aws.amazon.com/eventbridge/latest/userguide/eb-rules.html","alts":[],"httpStatus":200},{"url":"https://docs.aws.amazon.com/step-functions/latest/apireference/API_SendTaskSuccess.html","alts":[],"httpStatus":200},{"url":"https://docs.aws.amazon.com/step-functions/latest/dg/connect-to-resource.html#connect-wait-token","alts":[],"httpStatus":200},{"url":"https://octopus.com/docs/octopus-rest-api","alts":[],"httpStatus":200},{"url":"https://octopus.com/","alts":[],"httpStatus":200},{"url":"https://docs.aws.amazon.com/eventbridge/latest/userguide/eb-event-bus.html","alts":[],"httpStatus":200}],"version":"0.3","generatedAt":1710254464056},"isLockedPreviewOnly":false,"metaDescription":"","totalClapCount":20,"sectionCount":1,"readingList":0,"topics":[{"topicId":"decb52b64abf","slug":"programming","createdAt":1493934116328,"deletedAt":0,"image":{"id":"1*iPa136b1cGEO7lvoXg6uHQ@2x.jpeg","originalWidth":6016,"originalHeight":4016},"name":"Programming","description":"The good, the bad, the buggy.","relatedTopics":[],"visibility":1,"relatedTags":[],"relatedTopicIds":[],"seoTitle":"Programming News and Articles — Medium","type":"Topic"}]},"coverless":true,"slug":"accelerating-aws-deployments","translationSourcePostId":"","translationSourceCreatorId":"","isApprovedTranslation":false,"inResponseToPostId":"","inResponseToRemovedAt":0,"isTitleSynthesized":false,"allowResponses":true,"importedUrl":"","importedPublishedAt":0,"visibility":0,"uniqueSlug":"accelerating-aws-deployments-69faed925bc9","previewContent":{"bodyModel":{"paragraphs":[{"name":"previewImage","type":4,"text":"","layout":10,"metadata":{"id":"1*SbcK6_M0iZyTYGHlKSX70w.png","originalWidth":548,"originalHeight":509,"isFeatured":true}},{"name":"aae1","type":3,"text":"Accelerating AWS deployments","markups":[],"alignment":1},{"name":"3e07","type":13,"text":"How we implemented continuous deployment for existing AWS workloads","markups":[{"type":2,"start":0,"end":67}],"alignment":1}],"sections":[{"startIndex":0}]},"isFullContent":false,"subtitle":"How we implemented continuous deployment for existing AWS workloads"},"license":0,"inResponseToMediaResourceId":"","canonicalUrl":"","approvedHomeCollectionId":"8a738464d869","isNewsletter":false,"newsletterId":"","webCanonicalUrl":"","mediumUrl":"","migrationId":"","notifyFollowers":true,"notifyTwitter":false,"notifyFacebook":false,"responseHiddenOnParentPostAt":0,"isSeries":false,"isSubscriptionLocked":false,"seriesLastAppendedAt":0,"audioVersionDurationSec":0,"sequenceId":"","isEligibleForRevenue":false,"isBlockedFromHightower":false,"deletedAt":0,"lockedPostSource":0,"hightowerMinimumGuaranteeStartsAt":0,"hightowerMinimumGuaranteeEndsAt":0,"featureLockRequestAcceptedAt":0,"mongerRequestType":1,"layerCake":0,"socialTitle":"","socialDek":"","editorialPreviewTitle":"","editorialPreviewDek":"","curationEligibleAt":0,"isProxyPost":false,"proxyPostFaviconUrl":"","proxyPostProviderName":"","proxyPostType":0,"isSuspended":false,"isLimitedState":false,"seoTitle":"","previewContent2":{"bodyModel":{"paragraphs":[{"name":"aae1","type":3,"text":"Accelerating AWS deployments","markups":[]},{"name":"3e07","type":13,"text":"How we implemented continuous deployment for existing AWS workloads","markups":[{"type":2,"start":0,"end":67}]},{"name":"1dd3","type":4,"text":"","markups":[],"layout":1,"metadata":{"id":"1*3BK8FtikPEq32PSuCzXNRw.png","originalWidth":618,"originalHeight":98}},{"name":"e0ff","type":1,"text":"As a team we always strive to improve our DORA metrics. Something that would have an impact on all of these metrics would be to implement continuous deployment on our workloads. The existing method of deploying new versions relied on engineers waiting for an automated stage deployment, running the…","markups":[]}],"sections":[{"name":"6ed8","startIndex":0}]},"isFullContent":false,"subtitle":"How we implemented continuous deployment for existing AWS workloads"},"cardType":0,"isDistributionAlertDismissed":false,"isShortform":false,"shortformType":0,"responsesLocked":false,"isLockedResponse":false,"isPublishToEmail":false,"responseDistribution":0,"isMarkedPaywallOnly":false,"type":"Post"},"ea63b47517be":{"id":"ea63b47517be","versionId":"c4a975e7ee8d","creatorId":"c99234f0b681","homeCollectionId":"8a738464d869","title":"Setting up an Engineering Mentoring Program at Trustpilot","detectedLanguage":"en","latestVersion":"c4a975e7ee8d","latestPublishedVersion":"c4a975e7ee8d","hasUnpublishedEdits":false,"latestRev":224,"createdAt":1698916893646,"updatedAt":1699536111332,"acceptedAt":0,"firstPublishedAt":1699357475260,"latestPublishedAt":1699536102117,"vote":false,"experimentalCss":"","displayAuthor":"","content":{"subtitle":"As a Staff Engineer at Trustpilot, I felt it was important to be able to help guide other engineers on their career paths by virtue of…","postDisplay":{"coverless":true}},"virtuals":{"statusForCollection":"APPROVED","allowNotes":true,"previewImage":{"imageId":"1*8iqIDbAET-Uhi6_o83xNpQ.jpeg","filter":"","backgroundSize":"","originalWidth":4016,"originalHeight":1221,"strategy":"resample","height":0,"width":0},"wordCount":695,"imageCount":1,"readingTime":2.8226415094339625,"subtitle":"As a Staff Engineer at Trustpilot, I felt it was important to be able to help guide other engineers on their career paths by virtue of…","publishedInCount":1,"usersBySocialRecommends":[],"noIndex":false,"recommends":4,"isBookmarked":false,"tags":[{"slug":"software-engineering","name":"Software Engineering","postCount":126880,"metadata":{"postCount":126880,"coverImage":{"id":"1*pRSPaYJvobMKnMdID45a9g.jpeg","originalWidth":1200,"originalHeight":800,"isFeatured":true}},"type":"Tag"},{"slug":"career-development","name":"Career Development","postCount":22981,"metadata":{"postCount":22981,"coverImage":{"id":"1*ivpnjp6qbruvneLnEI1BtA.png","originalWidth":1456,"originalHeight":816,"isFeatured":true}},"type":"Tag"},{"slug":"mentoring","name":"Mentoring","postCount":6617,"metadata":{"postCount":6617,"coverImage":{"id":"0*qJLG-B49ATz_OkHO","originalWidth":8063,"originalHeight":5375,"isFeatured":true,"unsplashPhotoId":"TRUpNFYtyyA"}},"type":"Tag"},{"slug":"advice","name":"Advice","postCount":124455,"metadata":{"postCount":124455,"coverImage":{"id":"1*6QNnpe5l-25v9_8iOo4Q_Q.jpeg"}},"type":"Tag"},{"slug":"software-development","name":"Software Development","postCount":352234,"metadata":{"postCount":352234,"coverImage":{"id":"0*hb5uoz2BcjEvQwQo.jpg","originalWidth":800,"originalHeight":500,"isFeatured":true}},"type":"Tag"}],"socialRecommendsCount":0,"responsesCreatedCount":1,"links":{"entries":[{"url":"https://uk.business.trustpilot.com/jobs#open-jobs","alts":[],"httpStatus":200},{"url":"https://leaddev.com/","alts":[],"httpStatus":200}],"version":"0.3","generatedAt":1699536102498},"isLockedPreviewOnly":false,"metaDescription":"","totalClapCount":14,"sectionCount":2,"readingList":0,"topics":[{"topicId":"af49579e220a","slug":"work","createdAt":1487918186996,"deletedAt":0,"image":{"id":"1*knbAt5qCQCelKx0BDkzZpQ@2x.jpeg","originalWidth":5018,"originalHeight":3049},"name":"Work","description":"The meaning behind the meetings.","relatedTopics":[],"visibility":1,"relatedTags":[],"relatedTopicIds":[],"seoTitle":"Work Life: Articles and News — Medium","type":"Topic"},{"topicId":"decb52b64abf","slug":"programming","createdAt":1493934116328,"deletedAt":0,"image":{"id":"1*iPa136b1cGEO7lvoXg6uHQ@2x.jpeg","originalWidth":6016,"originalHeight":4016},"name":"Programming","description":"The good, the bad, the buggy.","relatedTopics":[],"visibility":1,"relatedTags":[],"relatedTopicIds":[],"seoTitle":"Programming News and Articles — Medium","type":"Topic"}]},"coverless":true,"slug":"setting-up-an-engineering-mentoring-program-at-trustpilot","translationSourcePostId":"","translationSourceCreatorId":"","isApprovedTranslation":false,"inResponseToPostId":"","inResponseToRemovedAt":0,"isTitleSynthesized":false,"allowResponses":true,"importedUrl":"","importedPublishedAt":0,"visibility":0,"uniqueSlug":"setting-up-an-engineering-mentoring-program-at-trustpilot-ea63b47517be","previewContent":{"bodyModel":{"paragraphs":[{"name":"previewImage","type":4,"text":"","layout":10,"metadata":{"id":"1*8iqIDbAET-Uhi6_o83xNpQ.jpeg","originalWidth":4016,"originalHeight":1221,"isFeatured":true}},{"name":"17b4","type":3,"text":"Setting up an Engineering Mentoring Program at Trustpilot","markups":[],"alignment":1}],"sections":[{"startIndex":0}]},"isFullContent":false,"subtitle":"As a Staff Engineer at Trustpilot, I felt it was important to be able to help guide other engineers on their career paths by virtue of…"},"license":0,"inResponseToMediaResourceId":"","canonicalUrl":"","approvedHomeCollectionId":"8a738464d869","isNewsletter":false,"newsletterId":"","webCanonicalUrl":"","mediumUrl":"","migrationId":"","notifyFollowers":true,"notifyTwitter":false,"notifyFacebook":false,"responseHiddenOnParentPostAt":0,"isSeries":false,"isSubscriptionLocked":false,"seriesLastAppendedAt":0,"audioVersionDurationSec":0,"sequenceId":"","isEligibleForRevenue":false,"isBlockedFromHightower":false,"deletedAt":0,"lockedPostSource":0,"hightowerMinimumGuaranteeStartsAt":0,"hightowerMinimumGuaranteeEndsAt":0,"featureLockRequestAcceptedAt":0,"mongerRequestType":1,"layerCake":0,"socialTitle":"","socialDek":"","editorialPreviewTitle":"","editorialPreviewDek":"","curationEligibleAt":0,"isProxyPost":false,"proxyPostFaviconUrl":"","proxyPostProviderName":"","proxyPostType":0,"isSuspended":false,"isLimitedState":false,"seoTitle":"","previewContent2":{"bodyModel":{"paragraphs":[{"name":"17b4","type":3,"text":"Setting up an Engineering Mentoring Program at Trustpilot","markups":[]},{"name":"4dfd","type":1,"text":"Mentoring Engineers on the IC track","markups":[{"type":1,"start":0,"end":35}]},{"name":"b7bc","type":4,"text":"","markups":[],"layout":1,"metadata":{"id":"1*8iqIDbAET-Uhi6_o83xNpQ.jpeg","originalWidth":4016,"originalHeight":1221,"isFeatured":true}},{"name":"6500","type":1,"text":"As a Staff Engineer at Trustpilot, I felt it was important to be able to help guide other engineers on their career paths by virtue of sharing past experiences and general advice that I’ve picked up along the way. The primary candidates were those…","markups":[]}],"sections":[{"name":"441b","startIndex":0}]},"isFullContent":false,"subtitle":"As a Staff Engineer at Trustpilot, I felt it was important to be able to help guide other engineers on their career paths by virtue of…"},"cardType":0,"isDistributionAlertDismissed":false,"isShortform":false,"shortformType":0,"responsesLocked":false,"isLockedResponse":false,"isPublishToEmail":false,"responseDistribution":0,"isMarkedPaywallOnly":false,"type":"Post"},"3c9d5b7b437e":{"id":"3c9d5b7b437e","versionId":"f432b69e61b7","creatorId":"68e40518b7b4","homeCollectionId":"8a738464d869","title":"Accessibility Testing in Trustpilot","detectedLanguage":"en","latestVersion":"f432b69e61b7","latestPublishedVersion":"f432b69e61b7","hasUnpublishedEdits":false,"latestRev":2977,"createdAt":1669731052992,"updatedAt":1692332170765,"acceptedAt":0,"firstPublishedAt":1692274449960,"latestPublishedAt":1692274449960,"vote":false,"experimentalCss":"","displayAuthor":"","content":{"subtitle":"There’s always a new challenge to keep you motivated.","postDisplay":{"coverless":true}},"virtuals":{"statusForCollection":"APPROVED","allowNotes":true,"previewImage":{"imageId":"1*LUE0VTRROhihiBK_jDiwDw.jpeg","filter":"","backgroundSize":"","originalWidth":4741,"originalHeight":2998,"strategy":"resample","height":0,"width":0},"wordCount":1527,"imageCount":2,"readingTime":6.14559748427673,"subtitle":"There’s always a new challenge to keep you motivated.","publishedInCount":1,"usersBySocialRecommends":[],"noIndex":false,"recommends":4,"isBookmarked":false,"tags":[{"slug":"accessibility-testing","name":"Accessibility Testing","postCount":535,"metadata":{"postCount":535,"coverImage":{"id":"1*T5m8yY5a6CcSpaVixVar8g.png","originalWidth":3668,"originalHeight":2546,"isFeatured":true,"alt":"screenshot of medium.com lighthouse test results"}},"type":"Tag"},{"slug":"automated-testing","name":"Automated Testing","postCount":2439,"metadata":{"postCount":2439,"coverImage":{"id":"1*xKe9cp-FiF-KxbfG4B5obQ.png","originalWidth":2792,"originalHeight":1560,"isFeatured":true,"focusPercentX":49,"focusPercentY":66}},"type":"Tag"},{"slug":"test-automation","name":"Test Automation","postCount":11469,"metadata":{"postCount":11469,"coverImage":{"id":"1*8GqSXumipDo_YqLG-HSC5Q.png","originalWidth":858,"originalHeight":420,"isFeatured":true}},"type":"Tag"},{"slug":"engineering","name":"Engineering","postCount":60227,"metadata":{"postCount":60227,"coverImage":{"id":"0*jEcmrJpyq060anYb.jpg","originalWidth":788,"originalHeight":788,"isFeatured":true}},"type":"Tag"},{"slug":"testing","name":"Testing","postCount":45085,"metadata":{"postCount":45085,"coverImage":{"id":"0*T7ChzbHTeCrbRzsW","originalWidth":1024,"originalHeight":1024}},"type":"Tag"}],"socialRecommendsCount":0,"responsesCreatedCount":0,"links":{"entries":[{"url":"https://blog.hubspot.com/website/web-accessibility-testing-tools","alts":[],"httpStatus":200},{"url":"https://dequeuniversity.com/rules/axe/html/4.7","alts":[],"httpStatus":200},{"url":"https://jestjs.io/","alts":[],"httpStatus":200},{"url":"https://www.w3.org/WAI/standards-guidelines/wcag/","alts":[],"httpStatus":200},{"url":"https://github.com/dequelabs/axe-core","alts":[],"httpStatus":200},{"url":"https://ghostinspector.com/docs/accessibility-testing/","alts":[],"httpStatus":200},{"url":"https://tech.trustpilot.com/monitoring-as-a-testing-approach-at-trustpilot-a243dc9e10b1?sk=152b9f2cf6fb30442fae0420dfccb8a3","alts":[{"type":2,"url":"medium://p/a243dc9e10b1"},{"type":3,"url":"medium://p/a243dc9e10b1"}],"httpStatus":200},{"url":"https://www.npmjs.com/package/eslint-plugin-jsx-a11y?activeTab=readme","alts":[],"httpStatus":200}],"version":"0.3","generatedAt":1692274451103},"isLockedPreviewOnly":false,"metaDescription":"","totalClapCount":4,"sectionCount":2,"readingList":0,"topics":[{"topicId":"decb52b64abf","slug":"programming","createdAt":1493934116328,"deletedAt":0,"image":{"id":"1*iPa136b1cGEO7lvoXg6uHQ@2x.jpeg","originalWidth":6016,"originalHeight":4016},"name":"Programming","description":"The good, the bad, the buggy.","relatedTopics":[],"visibility":1,"relatedTags":[],"relatedTopicIds":[],"seoTitle":"Programming News and Articles — Medium","type":"Topic"}]},"coverless":true,"slug":"accessibility-testing-in-trustpilot","translationSourcePostId":"","translationSourceCreatorId":"","isApprovedTranslation":false,"inResponseToPostId":"","inResponseToRemovedAt":0,"isTitleSynthesized":false,"allowResponses":true,"importedUrl":"","importedPublishedAt":0,"visibility":0,"uniqueSlug":"accessibility-testing-in-trustpilot-3c9d5b7b437e","previewContent":{"bodyModel":{"paragraphs":[{"name":"previewImage","type":4,"text":"","layout":10,"metadata":{"id":"1*LUE0VTRROhihiBK_jDiwDw.jpeg","originalWidth":4741,"originalHeight":2998,"isFeatured":true}},{"name":"374a","type":3,"text":"Automated Accessibility Testing in Trustpilot","markups":[],"alignment":1},{"name":"5d88","type":6,"text":"There’s always a new challenge to keep you motivated.\nSean Connery","markups":[{"type":2,"start":54,"end":66}],"alignment":1}],"sections":[{"startIndex":0}]},"isFullContent":false,"subtitle":"There’s always a new challenge to keep you motivated."},"license":0,"inResponseToMediaResourceId":"","canonicalUrl":"","approvedHomeCollectionId":"8a738464d869","isNewsletter":false,"newsletterId":"47eb69018a4f","webCanonicalUrl":"","mediumUrl":"","migrationId":"","notifyFollowers":true,"notifyTwitter":false,"notifyFacebook":false,"responseHiddenOnParentPostAt":0,"isSeries":false,"isSubscriptionLocked":false,"seriesLastAppendedAt":0,"audioVersionDurationSec":0,"sequenceId":"","isEligibleForRevenue":false,"isBlockedFromHightower":false,"deletedAt":0,"lockedPostSource":0,"hightowerMinimumGuaranteeStartsAt":0,"hightowerMinimumGuaranteeEndsAt":0,"featureLockRequestAcceptedAt":0,"mongerRequestType":1,"layerCake":0,"socialTitle":"","socialDek":"","editorialPreviewTitle":"","editorialPreviewDek":"","curationEligibleAt":0,"isProxyPost":false,"proxyPostFaviconUrl":"","proxyPostProviderName":"","proxyPostType":0,"isSuspended":false,"isLimitedState":false,"seoTitle":"","previewContent2":{"bodyModel":{"paragraphs":[{"name":"374a","type":3,"text":"Automated Accessibility Testing in Trustpilot","markups":[]},{"name":"5d88","type":6,"text":"There’s always a new challenge to keep you motivated.\nSean Connery","markups":[{"type":2,"start":54,"end":66}]},{"name":"cb74","type":4,"text":"","markups":[],"layout":1,"metadata":{"id":"1*LUE0VTRROhihiBK_jDiwDw.jpeg","originalWidth":4741,"originalHeight":2998,"isFeatured":true}},{"name":"2a0b","type":3,"text":"Challenge of Accessibility Testing","markups":[]},{"name":"662c","type":1,"text":"In Trustpilot, we face the challenge of testing fast-developed systems based on microservices with a Monitoring Testing Approach, and with constantly improving technologies, new ways of testing should continuously be implemented. Accessibility testing is one of the latest challenges…","markups":[{"type":3,"start":101,"end":128,"href":"https://tech.trustpilot.com/monitoring-as-a-testing-approach-at-trustpilot-a243dc9e10b1?sk=152b9f2cf6fb30442fae0420dfccb8a3","title":"","rel":"","anchorType":0}]}],"sections":[{"name":"9688","startIndex":0}]},"isFullContent":false,"subtitle":"There’s always a new challenge to keep you motivated."},"cardType":0,"isDistributionAlertDismissed":false,"isShortform":false,"shortformType":0,"responsesLocked":false,"isLockedResponse":false,"isPublishToEmail":true,"responseDistribution":0,"isMarkedPaywallOnly":false,"type":"Post"},"4c37c27afc92":{"id":"4c37c27afc92","versionId":"d3f3c8e315fe","creatorId":"9257fd122a38","homeCollectionId":"8a738464d869","title":"Elasticsearch data migration with Kafka","detectedLanguage":"en","latestVersion":"d3f3c8e315fe","latestPublishedVersion":"d3f3c8e315fe","hasUnpublishedEdits":false,"latestRev":92,"createdAt":1667912056827,"updatedAt":1668423646031,"acceptedAt":0,"firstPublishedAt":1668422967441,"latestPublishedAt":1668423644343,"vote":false,"experimentalCss":"","displayAuthor":"","content":{"subtitle":"Addressing Elasticsearch tech debt","postDisplay":{"coverless":true}},"virtuals":{"statusForCollection":"APPROVED","allowNotes":true,"previewImage":{"imageId":"1*lyOoKG1firhq1Rg276lUYw.png","filter":"","backgroundSize":"","originalWidth":818,"originalHeight":240,"strategy":"resample","height":0,"width":0},"wordCount":1283,"imageCount":3,"readingTime":5.391509433962264,"subtitle":"Addressing Elasticsearch tech debt","publishedInCount":1,"usersBySocialRecommends":[],"noIndex":false,"recommends":6,"isBookmarked":false,"tags":[{"slug":"elasticsearch","name":"Elasticsearch","postCount":8601,"metadata":{"postCount":8601,"coverImage":{"id":"1*qqndM8BvdQfD-Cl3HveusA.png","originalWidth":1485,"originalHeight":653,"isFeatured":true}},"type":"Tag"},{"slug":"kafka","name":"Kafka","postCount":11509,"metadata":{"postCount":11509,"coverImage":{"id":"0*GZ_4sM892kOsT8J9","originalWidth":6000,"originalHeight":4000,"isFeatured":true,"unsplashPhotoId":"heNwUmEtZzo"}},"type":"Tag"},{"slug":"msk","name":"Msk","postCount":118,"metadata":{"postCount":118,"coverImage":{"id":"1*YlNyNjdoaYiLw7bwUEPFig.png","originalWidth":2442,"originalHeight":1252,"isFeatured":true}},"type":"Tag"},{"slug":"kafka-connect","name":"Kafka Connect","postCount":636,"metadata":{"postCount":636,"coverImage":{"id":"1*92ucTm-EtTYib9KY0CU2cQ.png","originalWidth":1852,"originalHeight":894,"isFeatured":true}},"type":"Tag"},{"slug":"aws","name":"AWS","postCount":127200,"metadata":{"postCount":127200,"coverImage":{"id":"1*iEHC2DrC8Z0KKjrzwAa3cQ@2x.jpeg","originalWidth":1024,"originalHeight":1024,"backgroundSize":"","filter":"","isFeatured":false,"externalSrc":"","focusPercentX":-1,"focusPercentY":-1,"alt":"","repairedAt":0,"unsplashPhotoId":""}},"type":"Tag"}],"socialRecommendsCount":0,"responsesCreatedCount":0,"links":{"entries":[{"url":"https://aws.amazon.com/cloudwatch/","alts":[],"httpStatus":200},{"url":"https://hub.docker.com/r/confluentinc/cp-kafka-rest","alts":[],"httpStatus":200},{"url":"https://aws.amazon.com/cloudformation/","alts":[],"httpStatus":200},{"url":"https://github.com/provectus/kafka-ui","alts":[],"httpStatus":200},{"url":"https://www.elastic.co/guide/en/elasticsearch/reference/master/tune-for-indexing-speed.html#tune-for-indexing-speed","alts":[],"httpStatus":200},{"url":"https://aws.amazon.com/msk/","alts":[],"httpStatus":200},{"url":"https://docs.aws.amazon.com/cli/latest/reference/kafkaconnect/create-connector.html","alts":[],"httpStatus":200},{"url":"https://docs.aws.amazon.com/cli/latest/reference/kafkaconnect/index.html#cli-aws-kafkaconnect","alts":[],"httpStatus":200},{"url":"https://docs.confluent.io/kafka-connect-elasticsearch/current/overview.html","alts":[],"httpStatus":200},{"url":"https://docs.aws.amazon.com/msk/latest/developerguide/msk-connect-plugins.html","alts":[],"httpStatus":200},{"url":"https://github.com/dmathieu/kafka-connect-opensearch","alts":[],"httpStatus":200},{"url":"https://www.repost.aws/questions/QU9CWKH5EgQzmOTvznnMXr_g/change-elastic-search-search-max-open-scroll-context","alts":[],"httpStatus":200},{"url":"https://docs.confluent.io/kafka-connect-elasticsearch/current/configuration_options.html","alts":[],"httpStatus":200},{"url":"https://aws.amazon.com/opensearch-service/the-elk-stack/what-is-opensearch/","alts":[],"httpStatus":200},{"url":"https://aws.amazon.com/fargate/","alts":[],"httpStatus":200},{"url":"https://docs.confluent.io/platform/current/kafka-rest/quickstart.html","alts":[],"httpStatus":200},{"url":"https://aws.amazon.com/msk/features/msk-connect/","alts":[],"httpStatus":200},{"url":"https://www.linkedin.com/in/david--walker/","alts":[],"httpStatus":999},{"url":"https://www.linkedin.com/in/assulan-nurkas/","alts":[],"httpStatus":999}],"version":"0.3","generatedAt":1668423644653},"isLockedPreviewOnly":false,"metaDescription":"","totalClapCount":24,"sectionCount":1,"readingList":0,"topics":[{"topicId":"decb52b64abf","slug":"programming","createdAt":1493934116328,"deletedAt":0,"image":{"id":"1*iPa136b1cGEO7lvoXg6uHQ@2x.jpeg","originalWidth":6016,"originalHeight":4016},"name":"Programming","description":"The good, the bad, the buggy.","relatedTopics":[],"visibility":1,"relatedTags":[],"relatedTopicIds":[],"seoTitle":"Programming News and Articles — Medium","type":"Topic"}]},"coverless":true,"slug":"elasticsearch-data-migration-with-kafka","translationSourcePostId":"","translationSourceCreatorId":"","isApprovedTranslation":false,"inResponseToPostId":"","inResponseToRemovedAt":0,"isTitleSynthesized":true,"allowResponses":true,"importedUrl":"","importedPublishedAt":0,"visibility":0,"uniqueSlug":"elasticsearch-data-migration-with-kafka-4c37c27afc92","previewContent":{"bodyModel":{"paragraphs":[{"name":"previewImage","type":4,"text":"","layout":10,"metadata":{"id":"1*lyOoKG1firhq1Rg276lUYw.png","originalWidth":818,"originalHeight":240,"isFeatured":true}},{"name":"5691","type":3,"text":"Elasticsearch data migration with Kafka","markups":[],"alignment":1},{"name":"0580","type":3,"text":"Addressing Elasticsearch tech debt","markups":[],"alignment":1}],"sections":[{"startIndex":0}]},"isFullContent":false,"subtitle":"Addressing Elasticsearch tech debt"},"license":0,"inResponseToMediaResourceId":"","canonicalUrl":"","approvedHomeCollectionId":"8a738464d869","isNewsletter":false,"newsletterId":"","webCanonicalUrl":"","mediumUrl":"","migrationId":"","notifyFollowers":true,"notifyTwitter":false,"notifyFacebook":false,"responseHiddenOnParentPostAt":0,"isSeries":false,"isSubscriptionLocked":false,"seriesLastAppendedAt":0,"audioVersionDurationSec":0,"sequenceId":"","isEligibleForRevenue":false,"isBlockedFromHightower":false,"deletedAt":0,"lockedPostSource":0,"hightowerMinimumGuaranteeStartsAt":0,"hightowerMinimumGuaranteeEndsAt":0,"featureLockRequestAcceptedAt":0,"mongerRequestType":1,"layerCake":0,"socialTitle":"","socialDek":"","editorialPreviewTitle":"","editorialPreviewDek":"","curationEligibleAt":0,"isProxyPost":false,"proxyPostFaviconUrl":"","proxyPostProviderName":"","proxyPostType":0,"isSuspended":false,"isLimitedState":false,"seoTitle":"","previewContent2":{"bodyModel":{"paragraphs":[{"name":"5691","type":3,"text":"Elasticsearch data migration with Kafka","markups":[]},{"name":"0580","type":3,"text":"Addressing Elasticsearch tech debt","markups":[]},{"name":"2eb7","type":1,"text":"We have 3 AWS managed Elasticsearch clusters that run very old version of Elasticsearch (v.5.1). There have been multiple instances when blue-green deployments used by AWS on domain update and unplanned upgrades have been slow or failed altogether.","markups":[]},{"name":"3619","type":1,"text":"The clusters are used in the below event driven setup. There is…","markups":[]}],"sections":[{"name":"483f","startIndex":0}]},"isFullContent":false,"subtitle":"Addressing Elasticsearch tech debt"},"cardType":0,"isDistributionAlertDismissed":false,"isShortform":false,"shortformType":0,"responsesLocked":false,"isLockedResponse":false,"isPublishToEmail":false,"responseDistribution":0,"isMarkedPaywallOnly":false,"type":"Post"},"5e045665bffb":{"id":"5e045665bffb","versionId":"48fdd47bca17","creatorId":"510e74c09938","homeCollectionId":"8a738464d869","title":"Remote Onboarding","detectedLanguage":"en","latestVersion":"48fdd47bca17","latestPublishedVersion":"48fdd47bca17","hasUnpublishedEdits":false,"latestRev":79,"createdAt":1617467438024,"updatedAt":1641530784723,"acceptedAt":0,"firstPublishedAt":1617467546322,"latestPublishedAt":1634908575526,"vote":false,"experimentalCss":"","displayAuthor":"","content":{"subtitle":"What have we done to make our remote onboarding process successful?","postDisplay":{"coverless":true}},"virtuals":{"statusForCollection":"APPROVED","allowNotes":true,"previewImage":{"imageId":"1*RGoeQGdyP15e7Hh-KzEfiQ.jpeg","filter":"","backgroundSize":"","originalWidth":1733,"originalHeight":1155,"strategy":"resample","height":0,"width":0},"wordCount":934,"imageCount":1,"readingTime":3.7245283018867927,"subtitle":"What have we done to make our remote onboarding process successful?","publishedInCount":1,"usersBySocialRecommends":[],"noIndex":false,"recommends":11,"isBookmarked":false,"tags":[{"slug":"remote-working","name":"Remote Working","postCount":47534,"metadata":{"postCount":47534,"coverImage":{"id":"0*DoemGmPCEx9-rvGo","originalWidth":3644,"originalHeight":5466,"isFeatured":true,"unsplashPhotoId":"QLqNalPe0RA"}},"type":"Tag"},{"slug":"onboarding","name":"Onboarding","postCount":6154,"metadata":{"postCount":6154,"coverImage":{"id":"0*9VP4cnh1TxmkY08k.jpg","originalWidth":2600,"originalHeight":1463,"isFeatured":true}},"type":"Tag"},{"slug":"onboarding-process","name":"Onboarding Process","postCount":800,"metadata":{"postCount":800,"coverImage":{"id":"1*xFUlJ-k92g3EoHTg1YS0Ww.jpeg","originalWidth":3992,"originalHeight":2242,"isFeatured":true}},"type":"Tag"},{"slug":"developer","name":"Developer","postCount":46954,"metadata":{"postCount":46954,"coverImage":{"id":"1*HbjFRD0XbDzHcyDZ4Pri-w.png","originalWidth":7088,"originalHeight":5312}},"type":"Tag"}],"socialRecommendsCount":0,"responsesCreatedCount":1,"links":{"entries":[],"version":"0.3","generatedAt":1634908575656},"isLockedPreviewOnly":false,"metaDescription":"","totalClapCount":20,"sectionCount":1,"readingList":0,"topics":[{"topicId":"af49579e220a","slug":"work","createdAt":1487918186996,"deletedAt":0,"image":{"id":"1*knbAt5qCQCelKx0BDkzZpQ@2x.jpeg","originalWidth":5018,"originalHeight":3049},"name":"Work","description":"The meaning behind the meetings.","relatedTopics":[],"visibility":1,"relatedTags":[],"relatedTopicIds":[],"seoTitle":"Work Life: Articles and News — Medium","type":"Topic"}]},"coverless":true,"slug":"remote-onboarding","translationSourcePostId":"","translationSourceCreatorId":"","isApprovedTranslation":false,"inResponseToPostId":"","inResponseToRemovedAt":0,"isTitleSynthesized":false,"allowResponses":true,"importedUrl":"","importedPublishedAt":0,"visibility":0,"uniqueSlug":"remote-onboarding-5e045665bffb","previewContent":{"bodyModel":{"paragraphs":[{"name":"8e9f","type":3,"text":"Remote Onboarding","markups":[],"alignment":1},{"name":"653c","type":1,"text":"What have we done to make our remote onboarding process successful?","markups":[],"alignment":1},{"name":"36a5","type":4,"text":"","markups":[],"layout":9,"metadata":{"id":"1*RGoeQGdyP15e7Hh-KzEfiQ.jpeg","originalWidth":1733,"originalHeight":1155}}],"sections":[{"startIndex":0}]},"isFullContent":false,"subtitle":"What have we done to make our remote onboarding process successful?"},"license":0,"inResponseToMediaResourceId":"","canonicalUrl":"","approvedHomeCollectionId":"8a738464d869","isNewsletter":false,"newsletterId":"","webCanonicalUrl":"","mediumUrl":"","migrationId":"","notifyFollowers":true,"notifyTwitter":false,"notifyFacebook":false,"responseHiddenOnParentPostAt":0,"isSeries":false,"isSubscriptionLocked":false,"seriesLastAppendedAt":0,"audioVersionDurationSec":0,"sequenceId":"","isEligibleForRevenue":false,"isBlockedFromHightower":false,"deletedAt":0,"lockedPostSource":0,"hightowerMinimumGuaranteeStartsAt":0,"hightowerMinimumGuaranteeEndsAt":0,"featureLockRequestAcceptedAt":0,"mongerRequestType":1,"layerCake":0,"socialTitle":"","socialDek":"","editorialPreviewTitle":"","editorialPreviewDek":"","curationEligibleAt":0,"isProxyPost":false,"proxyPostFaviconUrl":"","proxyPostProviderName":"","proxyPostType":0,"isSuspended":false,"isLimitedState":false,"seoTitle":"","previewContent2":{"bodyModel":{"paragraphs":[{"name":"8e9f","type":3,"text":"Remote Onboarding","markups":[]},{"name":"653c","type":1,"text":"What have we done to make our remote onboarding process successful?","markups":[]},{"name":"36a5","type":4,"text":"","markups":[],"layout":1,"metadata":{"id":"1*RGoeQGdyP15e7Hh-KzEfiQ.jpeg","originalWidth":1733,"originalHeight":1155}},{"name":"a2ff","type":1,"text":"While this past year threw us a curveball at Trustpilot, the COVID-19 pandemic has also been a time for team growth. We’ve welcomed new members to our engineering and tech teams from across the globe. During this time, we’ve…","markups":[]}],"sections":[{"name":"e447","startIndex":0}]},"isFullContent":false,"subtitle":"What have we done to make our remote onboarding process successful?"},"cardType":0,"isDistributionAlertDismissed":false,"isShortform":false,"shortformType":0,"responsesLocked":false,"isLockedResponse":false,"isPublishToEmail":false,"responseDistribution":0,"isMarkedPaywallOnly":false,"type":"Post"}}},"paging":{"path":"/_/api/collections/8a738464d869/stream","next":{"to":"1617467546322","ignoredIds":[],"page":2}},"collection":{"id":"8a738464d869","name":"Trustpilot Technology","slug":"trustpilot-tech","tags":["TRUSTPILOT","TECHNOLOGY","AI","SOFTWARE ENGINEERING","ONLINE REVIEWS"],"creatorId":"8df8da189482","description":"How we work to make the world more transparent","shortDescription":"How we work to make the world more transparent","image":{"imageId":"1*NdgVkRGY2UbLt_YGZSLEog.png","filter":"","backgroundSize":"","originalWidth":566,"originalHeight":539,"strategy":"resample","height":0,"width":0},"metadata":{"followerCount":256,"activeAt":1719999645401},"virtuals":{"permissions":{"canPublish":false,"canPublishAll":false,"canRepublish":false,"canRemove":false,"canManageAll":false,"canSubmit":false,"canEditPosts":false,"canAddWriters":false,"canViewStats":false,"canSendNewsletter":false,"canViewLockedPosts":false,"canViewCloaked":false,"canEditOwnPosts":false,"canBeAssignedAuthor":false,"canEnrollInHightower":false,"canLockPostsForMediumMembers":false,"canLockOwnPostsForMediumMembers":false,"canViewNewsletterV2Stats":false,"canCreateNewsletterV3":false},"isSubscribed":false,"isEnrolledInHightower":false,"isEligibleForHightower":false,"isSubscribedToCollectionEmails":false,"isMuted":false,"canToggleEmail":false,"isWriter":false},"logo":{"imageId":"1*wjsfWssyBBLzMPQQMQBPTQ.png","filter":"","backgroundSize":"","originalWidth":1134,"originalHeight":279,"strategy":"resample","height":0,"width":0},"twitterUsername":"Trustpilot","domain":"tech.trustpilot.com","sections":[{"type":2,"collectionHeaderMetadata":{"backgroundImage":{},"logoImage":{"id":"1*wjsfWssyBBLzMPQQMQBPTQ@2x.png","originalWidth":1134,"originalHeight":279,"alt":"Trustpilot Technology"},"alignment":2,"layout":4}},{"type":1,"postListMetadata":{"source":1,"layout":4,"number":7,"postIds":["8875d3d80157","1500726be1b2","69faed925bc9","ea63b47517be","3c9d5b7b437e","4c37c27afc92","5e045665bffb"]}}],"tintColor":"#FF000032","lightText":true,"favicon":{"imageId":"1*NdgVkRGY2UbLt_YGZSLEog.png","filter":"","backgroundSize":"","originalWidth":566,"originalHeight":539,"strategy":"resample","height":0,"width":0},"colorPalette":{"defaultBackgroundSpectrum":{"colorPoints":[{"color":"#FF7186B3","point":0},{"color":"#FF697CA5","point":0.1},{"color":"#FF627397","point":0.2},{"color":"#FF5A6989","point":0.3},{"color":"#FF525F7B","point":0.4},{"color":"#FF4A556D","point":0.5},{"color":"#FF414A5E","point":0.6},{"color":"#FF383F4F","point":0.7},{"color":"#FF2E3440","point":0.8},{"color":"#FF232731","point":0.9},{"color":"#FF171A21","point":1}],"backgroundColor":"#FFFFFFFF"},"tintBackgroundSpectrum":{"colorPoints":[{"color":"#FF000032","point":0},{"color":"#FF18284D","point":0.1},{"color":"#FF364567","point":0.2},{"color":"#FF505F7E","point":0.3},{"color":"#FF697793","point":0.4},{"color":"#FF818DA7","point":0.5},{"color":"#FF98A2B9","point":0.6},{"color":"#FFAFB7CA","point":0.7},{"color":"#FFC4CADB","point":0.8},{"color":"#FFD9DEEB","point":0.9},{"color":"#FFEEF1FB","point":1}],"backgroundColor":"#FF000032"},"highlightSpectrum":{"colorPoints":[{"color":"#FFEFF3FF","point":0},{"color":"#FFECF1FF","point":0.1},{"color":"#FFE9EFFF","point":0.2},{"color":"#FFE6EDFF","point":0.3},{"color":"#FFE3ECFF","point":0.4},{"color":"#FFE0EAFF","point":0.5},{"color":"#FFDDE8FF","point":0.6},{"color":"#FFD9E6FF","point":0.7},{"color":"#FFD6E4FF","point":0.8},{"color":"#FFD3E3FF","point":0.9},{"color":"#FFD0E1FF","point":1}],"backgroundColor":"#FFFFFFFF"},"darkBackgroundSpectrum":{"colorPoints":[{"color":"#FF889ECD","point":0},{"color":"#FF93A6D1","point":0.1},{"color":"#FF9DAFD6","point":0.2},{"color":"#FFA7B7DB","point":0.3},{"color":"#FFB1BFDF","point":0.4},{"color":"#FFBBC7E3","point":0.5},{"color":"#FFC5CFE8","point":0.6},{"color":"#FFCFD7EC","point":0.7},{"color":"#FFD9DFF0","point":0.8},{"color":"#FFE2E7F4","point":0.9},{"color":"#FFECEEF8","point":1}],"backgroundColor":"#FF000000"}},"navItems":[{"type":1,"title":"Engineering","tagSlug":"engineering","url":"https://tech.trustpilot.com/tagged/engineering","source":"tagSlug"},{"type":1,"title":"Product Management","tagSlug":"product-management","url":"https://tech.trustpilot.com/tagged/product-management","source":"tagSlug"},{"type":1,"title":"UX/Design","tagSlug":"ux","url":"https://tech.trustpilot.com/tagged/ux","source":"tagSlug"},{"type":1,"title":"Data Science","tagSlug":"data-science","url":"https://tech.trustpilot.com/tagged/data-science","source":"tagSlug"}],"colorBehavior":2,"collectionFeatures":[30],"ampLogo":{"imageId":"","filter":"","backgroundSize":"","originalWidth":0,"originalHeight":0,"strategy":"resample","height":0,"width":0},"header":{"backgroundImage":{},"logoImage":{"id":"1*wjsfWssyBBLzMPQQMQBPTQ@2x.png","originalWidth":1134,"originalHeight":279,"alt":"Trustpilot Technology"},"alignment":2,"layout":4},"paidForDomainAt":1504601048304,"subscriberCount":256,"tagline":"How we work to make the world more transparent","isOptedIntoAurora":false,"isCurationAllowedByDefault":false,"polarisCoverImage":{"imageId":"","filter":"","backgroundSize":"","originalWidth":0,"originalHeight":0,"strategy":"resample","height":0,"width":0},"ptsQualifiedAt":1616092764096,"type":"Collection"},"header":{"backgroundImage":{},"logoImage":{"id":"1*wjsfWssyBBLzMPQQMQBPTQ@2x.png","originalWidth":1134,"originalHeight":279,"alt":"Trustpilot Technology"},"alignment":2,"layout":4},"streamItems":[{"createdAt":1744385093290,"randomId":"5d5830ae76dd","section":{"items":[{"post":{"postId":"8875d3d80157"},"itemType":"post"},{"post":{"postId":"1500726be1b2"},"itemType":"post"},{"post":{"postId":"69faed925bc9"},"itemType":"post"},{"post":{"postId":"ea63b47517be"},"itemType":"post"},{"post":{"postId":"3c9d5b7b437e"},"itemType":"post"},{"post":{"postId":"4c37c27afc92"},"itemType":"post"},{"post":{"postId":"5e045665bffb"},"itemType":"post"}],"layout":4},"itemType":"section","type":"StreamItem"}]}) // ]]></script></body></html>

Pages: 1 2 3 4 5 6 7 8 9 10