CINXE.COM
Results | Tighten
<!DOCTYPE html> <html lang="en"> <head> <title>Results | Tighten</title> <meta charset="utf-8"> <meta name="viewport" content="width=device-width, initial-scale=1"> <meta name="description" content="Tighten is a software development firm specializing in Laravel, Livewire, Vue.js, and React."> <meta property="og:title" content="Results"> <meta property="og:description" content="Tighten is a software development firm specializing in Laravel, Livewire, Vue.js, and React."> <meta property="og:image" content="https://tighten.com/assets/images/tighten-com-og-cover.png"> <meta property="og:url" content="https://tighten.com/results/"> <meta property="og:site_name" content="Tighten"> <meta name="twitter:card" content="summary_large_image"> <meta name="twitter:site" content="@TightenCo"> <meta name="twitter:image:alt" content="Tighten logo"> <link rel="canonical" href="https://tighten.com/results/"> <link rel="alternate" type="application/atom+xml" title="RSS feed for the Tighten blog" href="/insights/feed.atom" /> <link rel="stylesheet" href="/assets/build/css/main.css?id=a7cef393b7fa86d773f1a91f607ad5ae"> <script defer src="/assets/build/js/main.js?id=aed12c440e96e82bf106f646bd3e1248"></script> <script src="https://outstanding-absorbing.tighten.com/script.js" data-site="QEKUSYAY" defer></script> <script src="https://cdn.amplitude.com/libs/analytics-browser-2.7.4-min.js.gz"></script><script src="https://cdn.amplitude.com/libs/plugin-autocapture-browser-0.9.0-min.js.gz"></script><script>window.amplitude.add(window.amplitudeAutocapturePlugin.plugin());window.amplitude.init('53312f8d59159cea4be6be8d86e93bde',{defaultTracking:true});</script> </script> <script src="https://www.google.com/recaptcha/api.js" async defer></script> </head> <body class="bg-black font-sans antialiased"> <div id="app" class="flex flex-col min-h-screen"> <header x-data="navManager()" class="sticky z-50 -top-1 md:-top-6" @scroll.window="scrollListener" @resize.debounce.100ms.window="handleResize" > <nav class="absolute visible w-full h-20 opacity-0 md:hidden bg-charcoal transition-all duration-500 -z-10" :class="{ 'opacity-0 h-20': !mobileNavOpen, 'opacity-100 h-[460px]': mobileNavOpen }" > <div class="h-full text-white transition-all duration-500 pb-7 -mt-80" :class="{'pt-0 -mt-80': !mobileNavOpen, 'pt-20 mt-0': mobileNavOpen }" > <div class="flex flex-col items-end justify-between h-full pr-8 transition-all duration-400" :class="{'opacity-0': !mobileNavOpen, 'opacity-100': mobileNavOpen }" > <a class="flex items-center text-lg font-mono word-spacing-tight font-semibold uppercase tracking-widest border-y-4 border-transparent hover:border-b-yellow duration-300 hover:text-white mb-3" id="servicesNavLink" href="/services/" text="Services" selected="" href="/services/" tabindex="0" aria-label="Services" > Services </a> <a class="flex items-center text-lg font-mono word-spacing-tight font-semibold uppercase tracking-widest border-y-4 border-transparent hover:border-b-yellow duration-300 hover:text-white mb-3" href="/results/" text="Results" selected="selected" href="/results/" tabindex="0" aria-label="Results" > Results </a> <a class="flex items-center text-lg font-mono word-spacing-tight font-semibold uppercase tracking-widest border-y-4 border-transparent hover:border-b-yellow duration-300 hover:text-white mb-3" href="/insights/" text="Blog" selected="" href="/insights/" tabindex="0" aria-label="Blog" > Blog </a> <a class="flex items-center text-lg font-mono word-spacing-tight font-semibold uppercase tracking-widest border-y-4 border-transparent hover:border-b-yellow duration-300 hover:text-white mb-3" href="/team/" text="Team" selected="" href="/team/" tabindex="0" aria-label="Team" > Team </a> <a class="flex items-center text-lg font-mono word-spacing-tight font-semibold uppercase tracking-widest border-y-4 border-transparent hover:border-b-yellow duration-300 hover:text-white mb-3" href="/about/" text="About" selected="" href="/about/" tabindex="0" aria-label="About" > About </a> <a class="flex items-center text-lg font-mono word-spacing-tight font-semibold uppercase tracking-widest border-y-4 border-transparent hover:border-b-yellow duration-300 hover:text-white mb-3" href="/newsletter/" text="Newsletter" selected="" href="/newsletter/" tabindex="0" aria-label="Newsletter" > Newsletter </a> <div class="py-6 scale-110"> <div class="flex"> <a x-data="button()" @click.prevent="handleClick" href="/contact/" class="bg-charcoal shadow-button-inner-gray border-white bg-origin-border hover:border-transparent hover:animate-button hover:shadow-button-none hover:text-black focus:border-transparent focus:animate-button focus:shadow-button-none focus:text-black focus:outline-none text-xs lg:text-sm xl:text-base leading-none bg-button-gradient font-mono font-bold tracking-wider rounded-full py-2 xl:py-2.5 md:text-center px-3 lg:px-4 xl:px-5 uppercase text-white border bg-[length:1000%_1000%] transition-all duration-500 active:bg-gradient-to-l active:border-transparent active:from-yellow active:to-yellow active:shadow-button-none active:text-black word-spacing-tight whitespace-nowrap" > Contact Us </a> </div> <script> function button() { return { handleClick(e) { e.target.classList.add( 'bg-gradient-to-l', 'from-yellow', 'to-yellow', 'shadow-button-none' ); e.target.classList.remove('bg-button-gradient'); setTimeout(() => { window.location.href = e.target.getAttribute('href'); }, 500); }, }; } </script> </div> </div> </div> </nav> <div class="relative w-full"> <div class="absolute -z-10 w-full max-w-full h-20 md:h-[76px] lg:h-[90px] md:p-6 transition-all duration-500" :class="{ 'md:p-6': !stickyNav, 'md:py-6 ': stickyNav }" > <div class="w-full h-20 md:h-[76px] lg:h-[90px] bg-charcoal"></div> </div> <nav class="h-20 md:h-[100px] lg:h-[114px] pt-0 md:pt-6 pl-5 pr-6 md:pl-10 md:pr-12 lg:px-12 text-white transition-all duration-500"> <div class="flex items-center justify-between h-full max-w-screen-2xl mx-auto"> <a href="/" title="Go to homepage" class="transition-none duration-0" role="presentation" :class="{ 'transition-none duration-0': isMobile, 'transition-all duration-500': !isMobile }" > <lottie-player aria-label="Tighten logo" class="w-[90px] xs:w-[115px] sm:w-[130px] xl:w-[186px]" id="logoPlayer" mode="normal" src="/assets/images/tighten-logo-inverted-rgb-final-clockwise.json" > </lottie-player> </a> <div class="items-center justify-end hidden h-full align-middle md:flex md:space-x-5 xl:space-x-7 2xl:space-x-8 ml-10" > <a class="text-xs sm:text-sm lg:text-md xl:text-base uppercase tracking-widest flex items-center h-full font-mono font-bold border-y-4 border-transparent hover:border-b-yellow duration-300 text-charcoal-20 hover:text-white " href="/services/" aria-label="Services" > Services </a> <a class="text-xs sm:text-sm lg:text-md xl:text-base uppercase tracking-widest flex items-center h-full font-mono font-bold border-y-4 border-transparent hover:border-b-yellow duration-300 text-charcoal-20 hover:text-white text-yellow border-b-yellow" href="/results/" aria-label="Results" > Results </a> <a class="text-xs sm:text-sm lg:text-md xl:text-base uppercase tracking-widest flex items-center h-full font-mono font-bold border-y-4 border-transparent hover:border-b-yellow duration-300 text-charcoal-20 hover:text-white " href="/insights/" aria-label="Blog" > Blog </a> <a class="text-xs sm:text-sm lg:text-md xl:text-base uppercase tracking-widest flex items-center h-full font-mono font-bold border-y-4 border-transparent hover:border-b-yellow duration-300 text-charcoal-20 hover:text-white " href="/team/" aria-label="Team" > Team </a> <a class="text-xs sm:text-sm lg:text-md xl:text-base uppercase tracking-widest flex items-center h-full font-mono font-bold border-y-4 border-transparent hover:border-b-yellow duration-300 text-charcoal-20 hover:text-white " href="/about/" aria-label="About" > About </a> <div class="flex"> <a x-data="button()" @click.prevent="handleClick" href="/contact/" class="border-none animate-button text-black hover:shadow-button-none hover:text-white focus:border-white focus:shadow-button-none focus:text-white text-xs lg:text-sm xl:text-base leading-none bg-button-gradient font-mono font-bold tracking-wider rounded-full py-2 xl:py-2.5 md:text-center px-3 lg:px-4 xl:px-5 uppercase text-white border bg-[length:1000%_1000%] transition-all duration-500 active:bg-gradient-to-l active:border-transparent active:from-yellow active:to-yellow active:shadow-button-none active:text-black word-spacing-tight whitespace-nowrap" > Contact Us </a> </div> </div> <div class="block md:hidden" @click="handleNavToggleClick" @keydown.enter="handleNavToggleClick" @keyup.enter="focusOnMobileLink" tabindex="0" role="button" > <lottie-player class="w-8 h-8 fill-current" id="menuTogglePlayer" mode="normal" src="/assets/images/animated-hamburger.json" aria-label="Mobile menu" > </lottie-player> </div> </div> <div class="max-w-screen-2xl mx-auto"> <a class="absolute sr-only sm:focus:not-sr-only sm:focus:inline-flex items-center !p-3 !mt-2 !ml-4 font-mono word-spacing-tighter font-bold tracking-widest uppercase leading-none bg-charcoal text-yellow rounded-full" href="#content" tabindex="1"> <svg viewBox="0 0 24 24" fill="none" stroke="currentColor" class="h-3 w-3 mx-3" aria-hidden="true" > <path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M19 9l-7 7-7-7" /> </svg> <span class="pr-2">Skip to Main Content</span> </a> </div> </nav> </div> </header> <script> let logoPlayer; let menuTogglePlayer; let scrollThreshold = 25; let mobileViewport = 767; let isMobile = () => window.innerWidth <= mobileViewport; let shouldAnimate = () => !isMobile() && window.scrollY > scrollThreshold; document.querySelector('#logoPlayer').addEventListener('load', (e) => { logoPlayer = e.target; // Check if page is scrolled down and if so, animate the logo if (shouldAnimate()) { logoPlayer.play(); } }); document.querySelector('#menuTogglePlayer').addEventListener('load', (e) => { menuTogglePlayer = e.target; }); function navManager() { return { stickyNav: shouldAnimate(), mobileNavOpen: false, scrollListener() { if (isMobile()) { this.stickyNav = false; return; } this.animateLogo(); }, animate(player, direction) { if (!player) { // Animation hasn't been loaded yet return; } player.setDirection(direction); player.play(); }, animateLogo(direction) { if (shouldAnimate()) { this.stickyNav = true; this.animate(logoPlayer, 1); } else { this.stickyNav = false; this.animate(logoPlayer, -1); } }, seekLogo(player, toEnd = false) { if (!player) { // Animation hasn't been loaded yet return; } if (isMobile()) { if ( player.getLottie().isPaused && player.getLottie().currentFrame > 0 ) { player.pause(); this.animate(logoPlayer, -1); } } }, handleResize() { if (isMobile() && shouldAnimate()) { this.seekLogo(logoPlayer); } }, keyupListener(e) { this.mobileNavOpen = false; }, handleNavToggleClick(e) { let direction = this.mobileNavOpen ? -1 : 1; this.animate(menuTogglePlayer, direction); this.animate(logoPlayer, direction); this.mobileNavOpen = !this.mobileNavOpen; }, focusOnMobileLink() { document.querySelector('#servicesNavLink').focus(); }, }; } </script> <div> <div class="px-6 md:px-16 lg:px-28 text-white bg-black py-24 md:py-32 lg:py-36 xl:py-40" id="content"> <div class="max-w-screen-2xl mx-auto"> <h1 class="font-serif font-extralight mb-0 text-6xl xs:text-8xl sm:text-10xl md:text-11xl lg:text-12xl sm:-ml-2 md:-ml-3" title="Results"> Results </h1> <h2 class="w-full mb-2 font-serif text-2xl leading-snug font-extralight sm:text-3xl sm:leading-snug md:text-4xl md:leading-snug lg:mb-6"> We sweat the hell out of the details <br class="hidden sm:block lg:hidden" /> to help companies <br class="hidden lg:block" /> like yours push <br class="hidden sm:block lg:hidden" /> through roadblocks to growth. <div class="flex"> <a class="rounded-full mt-16" aria-label="Work with us" href="/contact/"> <div class="text-sm md:text-base box-border transition-colors duration-300 font-mono word-spacing-tight font-bold tracking-widest rounded-full py-3 px-6 uppercase leading-none bg-yellow hover:bg-white text-black" > Work With Us </div> </a> </div> </h2> </div> </div> <div class="px-6 md:px-16 lg:px-28 py-10 md:py-16 lg:py-24 mt-6 bg-charcoal lg:mt-10"> <div class="max-w-screen-2xl mx-auto -mt-24 lg:-mt-40 md:z-10 space-y-16"> <div class="flex flex-col md:flex-row space-y-16 md:space-y-0 md:space-x-10 lg:space-x-16 2xl:justify-start"> <div class="group flex flex-col text-white flex-1" > <a href="/results/genentech/" class="transition ease-in-out group-hover:scale-105 duration-300 group-hover:shadow-2xl group-hover:shadow-green-500/20" > <div class="relative flex flex-col justify-end w-full h-auto bg-yellow-900"> <div class="aspect-w-16 aspect-h-12 sm:aspect-w-16 sm:aspect-h-10 "> <img alt="Digital illustration of a person examining medical diagrams." src="/assets/images/case-study/genentech/img_casestudy_genentech_thumbnail.jpg" class="object-cover object-left sm:object-fill" /> <div class="w-full h-full"> <div class="absolute bottom-0 left-0 right-0 bg-gradient-to-b from-transparent to-black h-3/4 opacity-80"></div> </div> <div class="absolute inset-0 flex flex-col justify-end p-4 sm:p-6"> <div class="hidden sm:block flex font-serif font-light text-shadow text-2xl xs:text-3xl lg:text-4xl"> Genentech + Roche </div> <div class="flex-wrap hidden sm:flex"> <div class="px-3 py-1 mt-3 mr-3 font-mono text-xs font-bold text-black uppercase word-spacing-tight bg-yellow">Laravel</div> <div class="px-3 py-1 mt-3 mr-3 font-mono text-xs font-bold text-black uppercase word-spacing-tight bg-yellow">Vanilla JS</div> </div> </div> </div> </div> </a> <a href="/results/genentech/" class="group-hover:text-yellow group-hover:transition-colors"> <div class="sm:hidden flex font-sans font-semibold mt-6 sm:mt-10 text-2xl sm:text-3xl lg:text-4xl"> Genentech + Roche </div> <div class="leading-loose sm:leading-loose lg:leading-loose text-charcoal-20 mt-4 sm:mt-8 text-base sm:text-lg"> Over the past 15 years, we've partnered on a wide array of groundbreaking digital projects. </div> <div class="flex items-center mt-2 font-mono text-xs font-bold tracking-widest uppercase word-spacing-tight sm:text-base text-yellow"> Learn More <svg viewBox="0 0 24 24" fill="none" stroke="currentColor" class="h-7 w-7 p-1.5 ml-0.5" aria-hidden="true" > <path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M9 5l7 7-7 7" /> </svg> </div> </a> </div> <div class="group flex flex-col text-white flex-1" > <a href="/results/sweetwater/" class="transition ease-in-out group-hover:scale-105 duration-300 group-hover:shadow-2xl group-hover:shadow-blue-500/20" > <div class="relative flex flex-col justify-end w-full h-auto bg-yellow-900"> <div class="aspect-w-16 aspect-h-12 sm:aspect-w-16 sm:aspect-h-10 "> <img alt="Digital illustration of a person playing an electric bass guitar." src="/assets/images/case-study/sweetwater/img_casestudy_sweetwater_thumbnail.jpg" class="object-cover object-left sm:object-fill" /> <div class="w-full h-full"> <div class="absolute bottom-0 left-0 right-0 bg-gradient-to-b from-transparent to-black h-3/4 opacity-80"></div> </div> <div class="absolute inset-0 flex flex-col justify-end p-4 sm:p-6"> <div class="hidden sm:block flex font-serif font-light text-shadow text-2xl xs:text-3xl lg:text-4xl"> Sweetwater Sound </div> <div class="flex-wrap hidden sm:flex"> <div class="px-3 py-1 mt-3 mr-3 font-mono text-xs font-bold text-black uppercase word-spacing-tight bg-yellow">Laravel</div> <div class="px-3 py-1 mt-3 mr-3 font-mono text-xs font-bold text-black uppercase word-spacing-tight bg-yellow">Vue</div> <div class="px-3 py-1 mt-3 mr-3 font-mono text-xs font-bold text-black uppercase word-spacing-tight bg-yellow">Technical Leadership</div> </div> </div> </div> </div> </a> <a href="/results/sweetwater/" class="group-hover:text-yellow group-hover:transition-colors"> <div class="sm:hidden flex font-sans font-semibold mt-6 sm:mt-10 text-2xl sm:text-3xl lg:text-4xl"> Sweetwater Sound </div> <div class="leading-loose sm:leading-loose lg:leading-loose text-charcoal-20 mt-4 sm:mt-8 text-base sm:text-lg"> Our enduring partnership has helped solidify Sweetwater as the industry leader in music and pro audio gear. </div> <div class="flex items-center mt-2 font-mono text-xs font-bold tracking-widest uppercase word-spacing-tight sm:text-base text-yellow"> Learn More <svg viewBox="0 0 24 24" fill="none" stroke="currentColor" class="h-7 w-7 p-1.5 ml-0.5" aria-hidden="true" > <path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M9 5l7 7-7 7" /> </svg> </div> </a> </div> </div> <div class="flex flex-col md:flex-row space-y-16 md:space-y-0 md:space-x-10 lg:space-x-16 2xl:justify-start"> <div class="group flex flex-col text-white flex-1" > <a href="/results/chicago-botanic-garden/" class="transition ease-in-out group-hover:scale-105 duration-300 group-hover:shadow-2xl group-hover:shadow-purple-500/20" > <div class="relative flex flex-col justify-end w-full h-auto bg-yellow-900"> <div class="aspect-w-16 aspect-h-12 sm:aspect-w-16 sm:aspect-h-10 "> <img alt="Digital illustration of a person taking a picture of a flower with their phone." src="/assets/images/case-study/cbg/img_casestudy_cbg_thumbnail.jpg" class="object-cover object-left sm:object-fill" /> <div class="w-full h-full"> <div class="absolute bottom-0 left-0 right-0 bg-gradient-to-b from-transparent to-black h-3/4 opacity-80"></div> </div> <div class="absolute inset-0 flex flex-col justify-end p-4 sm:p-6"> <div class="hidden sm:block flex font-serif font-light text-shadow text-2xl xs:text-3xl lg:text-4xl"> Chicago Botanic Garden </div> <div class="flex-wrap hidden sm:flex"> <div class="px-3 py-1 mt-3 mr-3 font-mono text-xs font-bold text-black uppercase word-spacing-tight bg-yellow">Laravel</div> <div class="px-3 py-1 mt-3 mr-3 font-mono text-xs font-bold text-black uppercase word-spacing-tight bg-yellow">React Native</div> <div class="px-3 py-1 mt-3 mr-3 font-mono text-xs font-bold text-black uppercase word-spacing-tight bg-yellow">Statamic</div> <div class="px-3 py-1 mt-3 mr-3 font-mono text-xs font-bold text-black uppercase word-spacing-tight bg-yellow">Geospatial</div> </div> </div> </div> </div> </a> <a href="/results/chicago-botanic-garden/" class="group-hover:text-yellow group-hover:transition-colors"> <div class="sm:hidden flex font-sans font-semibold mt-6 sm:mt-10 text-2xl sm:text-3xl lg:text-4xl"> Chicago Botanic Garden </div> <div class="leading-loose sm:leading-loose lg:leading-loose text-charcoal-20 mt-4 sm:mt-8 text-base sm:text-lg"> Tighten helped the Garden give citizen scientists tools to protect rare species and act as stewards for our collective future. </div> <div class="flex items-center mt-2 font-mono text-xs font-bold tracking-widest uppercase word-spacing-tight sm:text-base text-yellow"> Learn More <svg viewBox="0 0 24 24" fill="none" stroke="currentColor" class="h-7 w-7 p-1.5 ml-0.5" aria-hidden="true" > <path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M9 5l7 7-7 7" /> </svg> </div> </a> </div> <div class="group flex flex-col text-white flex-1" > <a href="/results/adopt-a-storm-drain/" class="transition ease-in-out group-hover:scale-105 duration-300 group-hover:shadow-2xl group-hover:shadow-purple-500/20" > <div class="relative flex flex-col justify-end w-full h-auto bg-yellow-900"> <div class="aspect-w-16 aspect-h-12 sm:aspect-w-16 sm:aspect-h-10 "> <img alt="Digital illustration of a closeup of thumb on a phone taking a picture of a storm drain." src="/assets/images/case-study/aasd/img_casestudy_aasd_thumbnail.jpg" class="object-cover object-left sm:object-fill" /> <div class="w-full h-full"> <div class="absolute bottom-0 left-0 right-0 bg-gradient-to-b from-transparent to-black h-3/4 opacity-80"></div> </div> <div class="absolute inset-0 flex flex-col justify-end p-4 sm:p-6"> <div class="hidden sm:block flex font-serif font-light text-shadow text-2xl xs:text-3xl lg:text-4xl"> Adopt a Storm Drain </div> <div class="flex-wrap hidden sm:flex"> <div class="px-3 py-1 mt-3 mr-3 font-mono text-xs font-bold text-black uppercase word-spacing-tight bg-yellow">Laravel</div> <div class="px-3 py-1 mt-3 mr-3 font-mono text-xs font-bold text-black uppercase word-spacing-tight bg-yellow">Vue</div> <div class="px-3 py-1 mt-3 mr-3 font-mono text-xs font-bold text-black uppercase word-spacing-tight bg-yellow">Geospatial</div> </div> </div> </div> </div> </a> <a href="/results/adopt-a-storm-drain/" class="group-hover:text-yellow group-hover:transition-colors"> <div class="sm:hidden flex font-sans font-semibold mt-6 sm:mt-10 text-2xl sm:text-3xl lg:text-4xl"> Adopt a Storm Drain </div> <div class="leading-loose sm:leading-loose lg:leading-loose text-charcoal-20 mt-4 sm:mt-8 text-base sm:text-lg"> We helped civic-minded citizens divert thousands of tons of waste from their water supply, one drain at a time. </div> <div class="flex items-center mt-2 font-mono text-xs font-bold tracking-widest uppercase word-spacing-tight sm:text-base text-yellow"> Learn More <svg viewBox="0 0 24 24" fill="none" stroke="currentColor" class="h-7 w-7 p-1.5 ml-0.5" aria-hidden="true" > <path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M9 5l7 7-7 7" /> </svg> </div> </a> </div> </div> <div class="flex flex-col md:flex-row space-y-16 md:space-y-0 md:space-x-10 lg:space-x-16 2xl:justify-start"> <div class="group flex flex-col text-white flex-1" > <a href="/results/the-boutique-hub/" class="transition ease-in-out group-hover:scale-105 duration-300 group-hover:shadow-2xl group-hover:shadow-purple-500/20" > <div class="relative flex flex-col justify-end w-full h-auto bg-yellow-900"> <div class="aspect-w-16 aspect-h-12 sm:aspect-w-16 sm:aspect-h-10 "> <img alt="Digital illustration of some clothes and a finger pointing at one of them." src="/assets/images/case-study/the-boutique-hub/img_casestudy_The-Boutique-Hub-01.jpg" class="object-cover object-left sm:object-fill" /> <div class="w-full h-full"> <div class="absolute bottom-0 left-0 right-0 bg-gradient-to-b from-transparent to-black h-3/4 opacity-80"></div> </div> <div class="absolute inset-0 flex flex-col justify-end p-4 sm:p-6"> <div class="hidden sm:block flex font-serif font-light text-shadow text-2xl xs:text-3xl lg:text-4xl"> The Boutique Hub </div> <div class="flex-wrap hidden sm:flex"> <div class="px-3 py-1 mt-3 mr-3 font-mono text-xs font-bold text-black uppercase word-spacing-tight bg-yellow">Laravel</div> <div class="px-3 py-1 mt-3 mr-3 font-mono text-xs font-bold text-black uppercase word-spacing-tight bg-yellow">Tailwind</div> <div class="px-3 py-1 mt-3 mr-3 font-mono text-xs font-bold text-black uppercase word-spacing-tight bg-yellow">Livewire</div> <div class="px-3 py-1 mt-3 mr-3 font-mono text-xs font-bold text-black uppercase word-spacing-tight bg-yellow">Alpine</div> <div class="px-3 py-1 mt-3 mr-3 font-mono text-xs font-bold text-black uppercase word-spacing-tight bg-yellow">Technical Leadership</div> </div> </div> </div> </div> </a> <a href="/results/the-boutique-hub/" class="group-hover:text-yellow group-hover:transition-colors"> <div class="sm:hidden flex font-sans font-semibold mt-6 sm:mt-10 text-2xl sm:text-3xl lg:text-4xl"> The Boutique Hub </div> <div class="leading-loose sm:leading-loose lg:leading-loose text-charcoal-20 mt-4 sm:mt-8 text-base sm:text-lg"> How Tighten helped The Boutique Hub launch their app twice as fast as originally planned, building a scalable foundation for long-term success. </div> <div class="flex items-center mt-2 font-mono text-xs font-bold tracking-widest uppercase word-spacing-tight sm:text-base text-yellow"> Learn More <svg viewBox="0 0 24 24" fill="none" stroke="currentColor" class="h-7 w-7 p-1.5 ml-0.5" aria-hidden="true" > <path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M9 5l7 7-7 7" /> </svg> </div> </a> </div> <div class="flex-1"> </div> </div> </div> </div> <div class="px-6 md:px-16 lg:px-28 py-10 md:py-16 lg:py-24 bg-charcoal"> <div class="max-w-screen-2xl mx-auto flex flex-col items-center my-auto"> <div class="w-full max-w-screen-xl flex flex-col lg:-ml-16 lg:pr-2 2xl:-ml-20"> <div class="flex font-serif font-extralight"> <span class="text-7xl lg:text-10xl 2xl:text-11xl text-charcoal-70 -mt-4 lg:-mt-8 mr-1 lg:mr-2">“</span> <span class="text-white text-2xl sm:text-3xl lg:text-4xl 2xl:text-5xl leading-relaxed sm:leading-relaxed lg:leading-snug 2xl:leading-snug"> Tighten are true professionals. They’re calm under pressure. They’re the kind of people you want to survive a natural disaster with.” </span> </div> <div class="ml-8 lg:ml-16 flex justify-start items-center font-mono font-bold mt-2 sm:mt-4 lg:mt-8 2xl:mt-10 lg:mb-0 lg:pl-1 2xl:pl-4"> <img class="mr-5 object-cover rounded-full w-16 h-16 md:w-20 md:h-20" src="/assets/images/testimonial/testimonial-ben-holmen.jpg" alt="Photo of Ben Holmen" /> <div class="md:space-y-1"> <div class="text-md lg:text-lg text-yellow word-spacing-tight uppercase tracking-widest font-bold">Ben Holmen</div> <div class="text-sm text-charcoal-40 word-spacing-tight uppercase tracking-widest leading-tight font-bold">CTO, The Boutique Hub</div> </div> </div> </div> </div> </div> <div class="bg-cream-400"> <div class="px-6 md:px-16 lg:px-28 py-10 md:py-16 lg:py-24"> <div class="max-w-screen-2xl mx-auto flex flex-col xl:flex-row"> <div class="flex-1"> <div class="font-serif font-extralight text-charcoal-80 text-6xl lg:text-7xl xl:text-8xl pb-10"> Hey, <br class="hidden lg:block">let’s talk. </div> </div> <div class="flex-1 light"> <div x-data="contactForm()" class="py-0 mb-24 text-charcoal-80"> <div class="max-w-5xl mx-auto"> <form action="https://fieldgoal.io/f/AGz9ZcOcd0nXSBLM38wsGiiTkLhuaUxZ" method="POST" x-show="! submitted" @recaptcha-submitted.window="submitForm" > <div class="mb-20 grid grid-cols-2 gap-y-10 sm:gap-y-6 gap-x-10 sm:mb-12"> <div class="relative col-span-2 lg:col-span-1 text-charcoal-80 focus-within:text-black"> <label for="first_name" class="flex items-center justify-between absolute left-0 -bottom-8 sm:bottom-0 pb-2.5 block text-sm sm:text-lg font-serif" :class="hasError('first_name') ? 'w-full' : ''" > First name <span class="font-mono tracking-tight normal-case select-none text-red" x-show="hasError('first_name')" x-text="errors.first_name ?? 'Required'" x-cloak > Required </span> </label> <input id="first_name" class="block w-full py-1 pl-0 pr-0 mt-1 font-mono text-lg tracking-tight text-black bg-transparent border-t-0 rounded-none word-spacing-tighter border-x-0 border-b-charcoal-60 focus:outline-none focus:ring-transparent focus:text-black focus:border-b-yellow md:text-2xl selection:bg-charcoal-80 sm:pl-32 lg:pl-36 sm:py-2" :class="hasError('first_name') ? 'border-b-red focus:border-b-yellow' : 'border-b-charcoal-60 focus:border-b-yellow'" type="text" name="first_name" autocomplete="given-name" autocorrect="off" autocapitalize="sentences" spellcheck="false" x-model="form.first_name" @input="checkError('first_name')" @keyup.enter="submitForm" /> </div> <div class="relative col-span-2 lg:col-span-1 text-charcoal-80 focus-within:text-black"> <input id="url" class="absolute -mx-[86127px] font-mono word-spacing-tighter tracking-tight border-t-0 border-x-0 border-b-charcoal-60 mt-1 focus:outline-none focus:ring-transparent text-black focus:text-black focus:border-b-yellow block w-full text-lg md:text-2xl rounded-none bg-transparent selection:bg-charcoal-80 pl-0 sm:pl-32 lg:pl-36 pr-0 py-1 sm:py-2" type="text" name="url" tabindex="-1" autocomplete="off" aria-hidden="true" x-model="form.url" /> <label for="last_name" class="flex items-center justify-between absolute left-0 -bottom-8 sm:bottom-0 pb-2.5 block text-sm sm:text-lg font-serif" :class="hasError('last_name') ? 'w-full' : ''" > Last name <span class="font-mono tracking-tight normal-case select-none text-red" x-show="hasError('last_name')" x-text="errors.last_name ?? 'Required'" x-cloak > Required </span> </label> <input id="last_name" class="block w-full py-1 pl-0 pr-0 mt-1 font-mono text-lg tracking-tight text-black bg-transparent border-t-0 rounded-none word-spacing-tighter border-x-0 border-b-charcoal-60 focus:outline-none focus:ring-transparent focus:text-black focus:border-b-yellow md:text-2xl selection:bg-charcoal-80 sm:pl-32 lg:pl-36 sm:py-2" type="text" name="last_name" autocomplete="family-name" autocorrect="off" autocapitalize="sentences" spellcheck="false" x-model="form.last_name" @input="checkError('last_name')" @keyup.enter="submitForm" /> </div> <div class="relative col-span-2 text-charcoal-80 focus-within:text-black"> <label for="email" class="flex items-center justify-between absolute left-0 -bottom-8 sm:bottom-0 pb-2.5 block text-sm sm:text-lg font-serif" :class="hasError('email') ? 'w-full' : ''" > Email <span class="font-mono tracking-tight normal-case select-none text-red" x-show="hasError('email')" x-text="errors.email ?? 'Required'" x-cloak > Required </span> </label> <input id="email" class="block w-full py-1 pl-0 pr-0 mt-1 font-mono text-lg tracking-tight text-black bg-transparent border-t-0 rounded-none word-spacing-tighter border-x-0 border-b-charcoal-60 focus:outline-none focus:ring-transparent focus:text-black focus:border-b-yellow md:text-2xl selection:bg-charcoal-80 sm:pl-32 lg:pl-20 sm:py-2" type="email" name="email" autocomplete="email" autocorrect="off" autocapitalize="off" spellcheck="false" x-model="form.email" @input="checkError('email')" @keyup.enter="submitForm" /> </div> </div> <div class="flex mb-12 space-x-10"> <div class="relative w-full text-charcoal-80 focus-within:text-black"> <label for="message" class="flex items-center justify-between w-full font-serif text-sm sm:text-lg" > Tell us about your idea: <span class="font-mono tracking-tight normal-case select-none text-red" x-show="hasError('message')" x-text="errors.message ?? 'Required'" x-cloak > Required </span> </label> <textarea id="message" class="block w-full px-4 py-3 mt-3 font-mono tracking-tight text-black bg-transparent rounded-none word-spacing-tighter border-charcoal-60 focus:outline-none focus:ring-transparent focus:text-black focus:border-yellow md:text-lg lg:text-xl selection:bg-charcoal-80" rows="5" name="message" autocomplete="off" autocorrect="off" autocapitalize="sentences" spellcheck="false" x-model="form.message" @input="checkError('message')" ></textarea> </div> </div> <div class="flex mb-12 space-x-10"> <div class="relative w-full text-charcoal-80 focus-within:text-black"> <label for="how_did_you_hear_about_us" class="flex items-center justify-between w-full font-serif text-sm sm:text-lg" > How did you hear about us? <span class="font-mono tracking-tight normal-case select-none text-red" x-show="hasError('how_did_you_hear_about_us')" x-text="errors.how_did_you_hear_about_us ?? 'Required'" x-cloak > Required </span> </label> <select id="how_did_you_hear_about_us" x-model="form.how_did_you_hear_about_us" @input="checkError('how_did_you_hear_about_us')" name="how_did_you_hear_about_us" class="md:text-lg lg:text-xl font-mono tracking-tight text-black word-spacing-tighter block px-4 py-3 mt-3 bg-transparent w-full md:w-1/2 border-charcoal-60 focus:outline-none focus:ring-transparent focus:text-black focus:border-yellow" > <option hidden selected></option> <option value="laravel_community">Laravel community</option> <option value="laravel_partners">Laravel Partners</option> <option value="vuejs_partners">Vue.js Partners</option> <option value="google">Google</option> <option value="twitter">Twitter</option> <option value="linkedin">LinkedIn</option> <option value="word_of_mouth">Word of mouth</option> <option value="conference_or_event">Conference or event</option> <option value="referral">Referral</option> <option value="other">Other / not sure</option> </select> </div> </div> <div class="flex mb-12 space-x-10"> <div class="relative w-full text-charcoal-80 flex items-start items-center"> <label class="flex items-center cursor-pointer"> <input id="subscribe_to_newsletter" x-model="form.subscribe_to_newsletter" @input="checkError('subscribe_to_newsletter')" name="subscribe_to_newsletter" type="checkbox" class="cursor-pointer object-left align-middle h-8 w-8 text-yellow bg-transparent border-charcoal-60 focus:outline-none focus:ring-transparent hover:border-yellow focus:border-yellow checked:bg-yellow checked:border-yellow" /> <span class="object-left align-middle mx-4 font-serif text-sm sm:text-lg leading-tight text-wrap whitespace-normal">Sign me up to receive occasional email insights from Tighten</span> </label> </div> </div> <div class="flex mb-12 space-x-10"> <div class="relative w-full text-charcoal-40 text-xs"> <p>By submitting this form, you acknowledge our <a href="/privacy-policy" class="underline hover:text-yellow">Privacy Notice</a>.</p> <p> This site is protected by reCAPTCHA and the Google <a class="underline hover:text-yellow" href="https://policies.google.com/privacy">Privacy Policy</a> and <a class="underline hover:text-yellow" href="https://policies.google.com/terms">Terms of Service</a> apply. </p> </div> </div> <div class="flex justify-end w-full mt-10 mb-6"> <div class="flex"> <a class="rounded-full appearance-none cursor-pointer" aria-label="Submit" type="submit" @click.prevent.debounce="$refs.recaptchaTrigger.click()" @keyup.enter="$refs.recaptchaTrigger.click()" tabindex="0" x-bind:disabled="submitting"> <div class="text-sm md:text-base box-border transition-colors duration-300 font-mono word-spacing-tight font-bold tracking-widest rounded-full py-3 px-6 uppercase leading-none bg-yellow hover:bg-white text-black" > <span class="px-4">Send Message</span> </div> </a> </div> <input class="hidden g-recaptcha" type="submit" x-ref="recaptchaTrigger" data-sitekey="6LfHrMwpAAAAAHeFTMbG1xf52XD8Gx6gQG2RX15o" data-callback="onSubmit" /> </div> </form> <div x-show="submitted" x-cloak> <div class="py-12 font-serif text-center font-extralight"> <h1 class="mb-10 text-5xl sm:text-6xl text-yellow">Thank you!</h1> <p class="font-mono text-xl sm:text-2xl"> We appreciate your interest. <br class="hidden sm:block xl:hidden">We will get right back to you. </p> </div> </div> </div> <div x-show="! submitted" class="flex justify-start w-full -mb-3 -ml-2 sm:-ml-3"> <a href="https://fieldgoal.io/" class="flex items-center justify-center text-sm text-gray hover:text-yellow transition-colors"> <svg viewBox="0 0 27 28" fill="none" stroke="none" class="w-4 h-4 mr-2 sm:h-5 sm:w-5" aria-hidden="true" > <path fill-rule="evenodd" clip-rule="evenodd" fill="currentColor" d="M0.5 3C0.5 1.61929 1.61929 0.5 3 0.5H24C25.3807 0.5 26.5 1.61929 26.5 3V5C26.5 6.38071 25.3807 7.5 24 7.5H3C1.61929 7.5 0.5 6.38071 0.5 5V3ZM3 1.5C2.17157 1.5 1.5 2.17157 1.5 3V5C1.5 5.82843 2.17157 6.5 3 6.5H24C24.8284 6.5 25.5 5.82843 25.5 5V3C25.5 2.17157 24.8284 1.5 24 1.5H3ZM0.5 13C0.5 11.6193 1.61929 10.5 3 10.5H17C18.3807 10.5 19.5 11.6193 19.5 13V15C19.5 16.3807 18.3807 17.5 17 17.5H3C1.61929 17.5 0.5 16.3807 0.5 15V13ZM3 11.5C2.17157 11.5 1.5 12.1716 1.5 13V15C1.5 15.8284 2.17157 16.5 3 16.5H17C17.8284 16.5 18.5 15.8284 18.5 15V13C18.5 12.1716 17.8284 11.5 17 11.5H3ZM3 20.5C1.61929 20.5 0.5 21.6193 0.5 23V25C0.5 26.3807 1.61929 27.5 3 27.5H8C9.38071 27.5 10.5 26.3807 10.5 25V23C10.5 21.6193 9.38071 20.5 8 20.5H3ZM1.5 23C1.5 22.1716 2.17157 21.5 3 21.5H8C8.82843 21.5 9.5 22.1716 9.5 23V25C9.5 25.8284 8.82843 26.5 8 26.5H3C2.17157 26.5 1.5 25.8284 1.5 25V23Z" /> </svg> Form by FieldGoal </a> </div> </div> <script> window.onSubmit = function (token) { window.dispatchEvent(new CustomEvent('recaptcha-submitted', { detail: token })); }; let contact_form_url = "https://fieldgoal.io/f/AGz9ZcOcd0nXSBLM38wsGiiTkLhuaUxZ"; document.addEventListener('alpine:init', () => { Alpine.data('contactForm', () => ({ form: { first_name: null, last_name: null, email: null, message: null, how_did_you_hear_about_us: null, subscribe_to_newsletter: null, url: null, 'g-recaptcha-response': null, }, errors: {}, submitting: false, submitted: false, hasError(field) { return this.errors.hasOwnProperty(field) && this.errors[field]; }, isSubmitted() { return this.submitted; }, formIsValid() { this.errors = {}; Object.keys(this.form) .filter(field => ['first_name', 'last_name', 'email', 'message'].includes(field)) .forEach(input => { this.validateInput(input); }); return Object.keys(this.errors).length == 0; }, validateInput(key) { if (! this.form[key]) { this.errors[key] = 'Required'; } else if (key === 'email' && !this.hasValidEmail()) { this.errors[key] = 'Email address invalid'; } else { // All validations passed, so remove key from error bag delete this.errors[key]; } return this.errors.hasOwnProperty(key); }, hasValidEmail() { if (!this.form.email || this.form.email.length === 0) { return true; } var email_regex = new RegExp( /^(([^<>()\[\]\\.,;:\s@"]+(\.[^<>()\[\]\\.,;:\s@"]+)*)|(".+"))@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\])|(([a-zA-Z\-0-9]+\.)+[a-zA-Z]{2,}))$/ ); return email_regex.test(this.form.email); }, checkError(key) { if (this.errors.hasOwnProperty(key)) { // Only re-validate if it had an error already this.validateInput(key); } }, submitForm(event) { this.submitting = true; if (this.formIsValid()) { if (window.fathom) { window.fathom.trackGoal("8XHPBZYD", 0); } this.form['g-recaptcha-response'] = event.detail; axios({ method: 'post', headers: { Accept: 'application/json', 'X-Requested-With': 'XMLHttpRequest', }, url: contact_form_url, data: this.form, }).then(response => { this.submitted = true; this.submitting = false; }).catch(error => { this.submitted = true; this.submitting = false; if (error.response && error.response.data && error.response.data.errors) { this.errors = error.response.data.errors; } }); } grecaptcha.reset(); this.submitting = false; }, init() { window.addEventListener('load', (event) => { window.fathom.trackGoal("FB8Q5F8B", 0); }); }, })) }) </script> </div> </div> </div> </div> </div> <div class="px-6 md:px-16 lg:px-28 py-10 md:py-16 lg:py-24 p-6 pt-24 text-white bg-black sm:p-12 md:p-0"> <div class="max-w-screen-2xl mx-auto flex flex-wrap w-full space-y-10 lg:space-y-0"> <div class="flex flex-col items-start w-full h-full space-y-2 lg:w-2/5 "> <div class="flex items-end justify-between w-full pb-4 md:pb-8"> <div class="w-64 lg:-mt-4 mr-8 lg:ml-[-38px]"> <svg id="tighten-logo-inverted" viewBox="0 0 864 188.9234" aria-hidden="true" > <g> <g id="type"> <path d="M193.71,67.6651v83.4585H174.2486V67.6651l-5.6137-5.6145H134.2037V44.4615h99.5511V62.0506H199.3237Z" style="fill: #fff"/> <path d="M306.8128,135.4044h25.8237v15.7192H248.8038V135.4044h31.4374l4.8652-4.8643V92.3659L280.2412,87.5H248.8038V71.7825h53.1438V130.54Z" style="fill: #fff"/> <path d="M412.6319,143.8263c-4.6788,5.0515-14.2219,9.9174-25.6366,9.9174-23.9522,0-40.9806-18.7136-40.9806-42.2915s17.0284-42.29,40.9806-42.29c11.4147,0,20.9578,4.8644,25.6366,9.9175h4.4909V71.97H436.21v74.4752c0,26.0109-21.7072,42.4786-47.9044,42.4786-18.7128,0-33.4962-5.9888-42.8521-16.0934l11.4146-13.4733c7.4853,8.0475,20.0228,13.2861,31.4375,13.2861,18.1513,0,28.8174-9.73,28.8174-25.2623v-3.5542ZM417.4971,119.5V103.4063C410.76,93.8632,401.9651,86.19,389.6147,86.19c-14.7826,0-23.9523,11.04-23.9523,25.2623s9.17,25.2623,23.9523,25.2623C401.9651,136.7145,410.76,129.0429,417.4971,119.5Z" style="fill: #fff"/> <path d="M482.3348,151.1236H463.2477V36.4156h19.0871V80.7641h4.4908a34.1458,34.1458,0,0,1,25.6366-11.6018c18.7128,0,32.1853,11.4147,32.1853,32.56v49.4017H525.5612V105.8393c0-11.04-3.5559-19.2751-15.9063-19.2751-11.2275,0-20.022,10.1062-27.32,21.3337Z" style="fill: #fff"/> <path d="M577.4013,87.8743H558.6886V71.7825h23.3907V44.4615h19.2742v27.321H640.65V87.8743H605.8444l-4.678,4.6788V114.26c0,13.66,5.0523,22.2678,18.1505,22.2678,11.6026,0,18.3385-6.1744,26.3852-16.84l11.4146,13.099c-9.1688,12.91-23.0164,20.9578-37.9861,20.9578-21.7072,0-37.0513-11.2275-37.0513-36.8641V92.5531Z" style="fill: #fff"/> <path d="M717.193,153.7437c-28.2559,0-47.53-18.3393-47.53-42.2915s19.2742-42.29,45.2843-42.29c31.6246,0,46.0337,24.888,46.0337,48.84h-67.74l-3.7423,2.62c3.5551,8.6074,12.35,15.9047,27.6945,15.9047,11.4146,0,21.3321-3.7414,31.8118-11.6018l9.356,12.7248C744.5131,148.6906,730.8535,153.7437,717.193,153.7437Zm19.4614-50.5246,1.6835-3.93C734.4085,91.9916,725.8,86.19,714.9472,86.19c-10.6661,0-20.7707,5.0531-25.0752,14.5963l3.3688,2.4329Z" style="fill: #fff"/> <path d="M801.6873,151.1236H782.6V71.7825h19.0871v8.9816h4.4908a34.1458,34.1458,0,0,1,25.6366-11.6018c18.7128,0,32.1853,11.4147,32.1853,32.56v49.4017H844.9137V105.8393c0-11.04-3.5558-19.2751-15.9063-19.2751-11.2275,0-20.022,10.1062-27.32,21.3337Z" style="fill: #fff"/> <rect x="281.0028" y="36.4156" width="21.1679" height="21.1679" style="fill: #fff"/> </g> <polygon points="71.986 44.467 60.893 33.762 60.893 0 43.774 0 43.774 33.681 32.585 44.467 0 44.467 0 62.028 32.663 62.028 43.774 72.726 43.774 106.38 60.893 106.38 60.893 72.725 71.986 62.028 104.877 62.028 104.877 44.467 71.986 44.467" style="fill: #ffbc00"/> </g> </svg> </div> <div class="flex mb-3 lg:hidden space-x-5 text-gray"> <a class="text-charcoal-50 hover:text-white" href="https://twitter.com/TightenCo" role="link" aria-label="Twitter"> <svg viewBox="0 0 20 17" fill="none" stroke="none" class="w-5 h-5 fill-current" aria-hidden="true" > <path fill-rule="evenodd" d="M17.6439514,2.67547417 C18.4915185,2.14746831 19.1418677,1.31023678 19.4470858,0.312892365 C18.6535188,0.803008922 17.7766039,1.15745731 16.8409931,1.34934833 C16.0943828,0.51822798 15.0272935,0 13.8463344,0 C11.5806773,0 9.74467336,1.91279903 9.74467336,4.27171413 C9.74467336,4.60660674 9.77871691,4.9329437 9.84915185,5.24461383 C6.44010096,5.0661674 3.4172683,3.36725964 1.3922639,0.781008678 C1.0389153,1.41412682 0.83700182,2.14746831 0.83700182,2.92969922 C0.83700182,4.41104901 1.56130774,5.71884132 2.66244057,6.4864054 C1.98978693,6.46440516 1.35704643,6.27006967 0.802958267,5.95228836 L0.802958267,6.0048445 C0.802958267,8.07531195 2.21635264,9.80233114 4.09579151,10.1934466 C3.75066033,10.2936699 3.38909432,10.3437816 3.01344133,10.3437816 C2.74931032,10.3437816 2.49104889,10.3181146 2.24217879,10.268003 C2.76339731,11.9644663 4.27892235,13.2013689 6.07501321,13.2343693 C4.66983624,14.3808265 2.90074544,15.062834 0.979045607,15.062834 C0.648001409,15.062834 0.320478958,15.0445005 0,15.0041667 C1.81604743,16.2154024 3.97253038,16.9230769 6.28983976,16.9230769 C13.838117,16.9230769 17.9632564,10.413449 17.9632564,4.76794187 C17.9632564,4.58216202 17.9609086,4.39760442 17.9526912,4.21549128 C18.7544756,3.61292903 19.4517814,2.86003178 20,2.00324448 C19.2639549,2.34302603 18.4727358,2.57280636 17.6439514,2.67547417 Z" /> </svg> </a> <a class="text-charcoal-50 hover:text-white" href="https://github.com/tighten" role="link" aria-label="Github"> <svg viewBox="0 0 20 20" fill="none" stroke="currentColor" class="w-5 h-5 fill-current" aria-hidden="true" > <path fill-rule="evenodd" d="M9.99907916,0 C4.47773105,0 0,4.47711716 0,10.0003069 C0,14.4184904 2.86503576,18.1663034 6.83876117,19.4886276 C7.33908346,19.5807115 7.5214095,19.2719236 7.5214095,19.0067221 C7.5214095,18.7697597 7.512815,18.14052 7.50790386,17.3062402 C4.72635747,17.9103103 4.13947635,15.9654992 4.13947635,15.9654992 C3.68458209,14.8101538 3.02894503,14.5025937 3.02894503,14.5025937 C2.12099819,13.8825624 3.09770097,13.8948402 3.09770097,13.8948402 C4.10141502,13.9654379 4.62936247,14.9255655 4.62936247,14.9255655 C5.52134811,16.4535437 6.97013414,16.0121551 7.53982627,15.7561619 C7.63068234,15.1103472 7.88913104,14.6695724 8.17459099,14.4197182 C5.95414224,14.1674085 3.6195095,13.3091869 3.6195095,9.47727063 C3.6195095,8.38576997 4.00933116,7.49255655 4.64900703,6.79394702 C4.54587311,6.54102336 4.20270727,5.52380368 4.74722981,4.14745695 C4.74722981,4.14745695 5.5864207,3.87857209 7.4968538,5.17265723 C8.29430001,4.95042819 9.15006599,4.83992756 10.0003069,4.83563031 C10.849934,4.83992756 11.7050861,4.95042819 12.5037601,5.17265723 C14.4129654,3.87857209 15.2509285,4.14745695 15.2509285,4.14745695 C15.7966788,5.52380368 15.453513,6.54102336 15.350993,6.79394702 C15.9918966,7.49255655 16.3786488,8.38576997 16.3786488,9.47727063 C16.3786488,13.3190092 14.0403327,14.164339 11.8131312,14.4117376 C12.1716443,14.7205255 12.4914822,15.3307345 12.4914822,16.2638509 C12.4914822,17.6002947 12.4792044,18.6789036 12.4792044,19.0067221 C12.4792044,19.2743792 12.6596888,19.5856226 13.1667639,19.4880138 C17.1374198,18.1626201 20,14.4172627 20,10.0003069 C20,4.47711716 15.5222689,0 9.99907916,0" /> </svg> </a> <a class="text-charcoal-50 hover:text-white" href="https://www.linkedin.com/company/tightenco" role="link" aria-label="Linked in"> <svg viewBox="0 0 20 20" fill="none" stroke="none" class="w-5 h-5 fill-current" aria-hidden="true" > <path fill-rule="evenodd" d="M0.504468485,6.41311307 L4.40263405,6.41311307 L4.40263405,19.9987194 L0.504468485,19.9987194 L0.504468485,6.41311307 Z M2.35418627,4.71379178 L2.32596425,4.71379178 C0.914863594,4.71379178 0,3.67524651 0,2.36009732 C0,1.01805609 0.94190969,0 2.38123236,0 C3.81937912,0 4.70366886,1.01549494 4.73189087,2.3562556 C4.73189087,3.67140479 3.81937912,4.71379178 2.35418627,4.71379178 L2.35418627,4.71379178 Z M20,20 L15.5797272,20 L15.5797272,12.9683698 C15.5797272,11.1281854 14.8882879,9.8732232 13.3678269,9.8732232 C12.2048448,9.8732232 11.5580903,10.7196824 11.2570555,11.537969 C11.1441675,11.8299398 11.1618062,12.2384428 11.1618062,12.6482264 L11.1618062,20 L6.7826905,20 C6.7826905,20 6.83913452,7.54514022 6.7826905,6.41311307 L11.1618062,6.41311307 L11.1618062,8.54526828 C11.420508,7.61301063 12.8198495,6.28249456 15.0529163,6.28249456 C17.8233772,6.28249456 20,8.23793059 20,12.4446152 L20,20 L20,20 Z" /> </svg> </a> </div> </div> <div class="leading-none pb-1.5"> <a class="font-mono word-spacing-tight font-bold text-sm uppercase tracking-widest pb-1.5 text-gray border-b border-transparent hover:underline hover:decoration-yellow hover:underline-offset-4" href="https://duckduckgo.com/?q=Directions+to+1807+W.+Sunnyside%2C+Chicago%2C+IL&t=h_&ia=directions&iaxm=directions&end=what%3A1807%2520W%2520Sunnyside%2520Ave%2Cwhere%3AChicago%252C%2520IL%2520%252060640%252C%2520United%2520States&transport=drive"> 1807 W. Sunnyside, Suite 1G </a> </div> <div class="leading-none pb-1.5"> <a class="font-mono word-spacing-tight font-bold text-sm uppercase tracking-widest pb-1.5 text-gray border-b border-transparent hover:underline hover:decoration-yellow hover:underline-offset-4" href="https://duckduckgo.com/?q=Directions+to+1807+W.+Sunnyside%2C+Chicago%2C+IL&t=h_&ia=directions&iaxm=directions&end=what%3A1807%2520W%2520Sunnyside%2520Ave%2Cwhere%3AChicago%252C%2520IL%2520%252060640%252C%2520United%2520States&transport=drive"> Chicago, IL 60640 </a> </div> <div class="leading-none pb-1.5"> <a class="font-mono word-spacing-tight font-bold text-sm uppercase tracking-widest pb-1.5 text-gray border-b border-transparent hover:underline hover:decoration-yellow hover:underline-offset-4" href="tel:+13124487405"> (312) 448-7405 </a> </div> <div class="leading-none pb-1.5"> <a class="font-mono word-spacing-tight font-bold text-sm uppercase tracking-widest pb-1.5 text-gray border-b border-transparent hover:underline hover:decoration-yellow hover:underline-offset-4" href="mailto:hello@tighten.co"> hello@tighten.co </a> </div> <div class="hidden pt-3 lg:flex space-x-6 text-gray"> <a class="text-charcoal-50 hover:text-white" href="https://twitter.com/TightenCo" role="link" aria-label="Twitter"> <svg viewBox="0 0 20 17" fill="none" stroke="none" class="w-5 h-5 fill-current" aria-hidden="true" > <path fill-rule="evenodd" d="M17.6439514,2.67547417 C18.4915185,2.14746831 19.1418677,1.31023678 19.4470858,0.312892365 C18.6535188,0.803008922 17.7766039,1.15745731 16.8409931,1.34934833 C16.0943828,0.51822798 15.0272935,0 13.8463344,0 C11.5806773,0 9.74467336,1.91279903 9.74467336,4.27171413 C9.74467336,4.60660674 9.77871691,4.9329437 9.84915185,5.24461383 C6.44010096,5.0661674 3.4172683,3.36725964 1.3922639,0.781008678 C1.0389153,1.41412682 0.83700182,2.14746831 0.83700182,2.92969922 C0.83700182,4.41104901 1.56130774,5.71884132 2.66244057,6.4864054 C1.98978693,6.46440516 1.35704643,6.27006967 0.802958267,5.95228836 L0.802958267,6.0048445 C0.802958267,8.07531195 2.21635264,9.80233114 4.09579151,10.1934466 C3.75066033,10.2936699 3.38909432,10.3437816 3.01344133,10.3437816 C2.74931032,10.3437816 2.49104889,10.3181146 2.24217879,10.268003 C2.76339731,11.9644663 4.27892235,13.2013689 6.07501321,13.2343693 C4.66983624,14.3808265 2.90074544,15.062834 0.979045607,15.062834 C0.648001409,15.062834 0.320478958,15.0445005 0,15.0041667 C1.81604743,16.2154024 3.97253038,16.9230769 6.28983976,16.9230769 C13.838117,16.9230769 17.9632564,10.413449 17.9632564,4.76794187 C17.9632564,4.58216202 17.9609086,4.39760442 17.9526912,4.21549128 C18.7544756,3.61292903 19.4517814,2.86003178 20,2.00324448 C19.2639549,2.34302603 18.4727358,2.57280636 17.6439514,2.67547417 Z" /> </svg> </a> <a class="text-charcoal-50 hover:text-white" href="https://github.com/tighten" role="link" aria-label="Github"> <svg viewBox="0 0 20 20" fill="none" stroke="currentColor" class="w-5 h-5 fill-current" aria-hidden="true" > <path fill-rule="evenodd" d="M9.99907916,0 C4.47773105,0 0,4.47711716 0,10.0003069 C0,14.4184904 2.86503576,18.1663034 6.83876117,19.4886276 C7.33908346,19.5807115 7.5214095,19.2719236 7.5214095,19.0067221 C7.5214095,18.7697597 7.512815,18.14052 7.50790386,17.3062402 C4.72635747,17.9103103 4.13947635,15.9654992 4.13947635,15.9654992 C3.68458209,14.8101538 3.02894503,14.5025937 3.02894503,14.5025937 C2.12099819,13.8825624 3.09770097,13.8948402 3.09770097,13.8948402 C4.10141502,13.9654379 4.62936247,14.9255655 4.62936247,14.9255655 C5.52134811,16.4535437 6.97013414,16.0121551 7.53982627,15.7561619 C7.63068234,15.1103472 7.88913104,14.6695724 8.17459099,14.4197182 C5.95414224,14.1674085 3.6195095,13.3091869 3.6195095,9.47727063 C3.6195095,8.38576997 4.00933116,7.49255655 4.64900703,6.79394702 C4.54587311,6.54102336 4.20270727,5.52380368 4.74722981,4.14745695 C4.74722981,4.14745695 5.5864207,3.87857209 7.4968538,5.17265723 C8.29430001,4.95042819 9.15006599,4.83992756 10.0003069,4.83563031 C10.849934,4.83992756 11.7050861,4.95042819 12.5037601,5.17265723 C14.4129654,3.87857209 15.2509285,4.14745695 15.2509285,4.14745695 C15.7966788,5.52380368 15.453513,6.54102336 15.350993,6.79394702 C15.9918966,7.49255655 16.3786488,8.38576997 16.3786488,9.47727063 C16.3786488,13.3190092 14.0403327,14.164339 11.8131312,14.4117376 C12.1716443,14.7205255 12.4914822,15.3307345 12.4914822,16.2638509 C12.4914822,17.6002947 12.4792044,18.6789036 12.4792044,19.0067221 C12.4792044,19.2743792 12.6596888,19.5856226 13.1667639,19.4880138 C17.1374198,18.1626201 20,14.4172627 20,10.0003069 C20,4.47711716 15.5222689,0 9.99907916,0" /> </svg> </a> <a class="text-charcoal-50 hover:text-white" href="https://www.linkedin.com/company/tightenco" role="link" aria-label="Linked in"> <svg viewBox="0 0 20 20" fill="none" stroke="none" class="w-5 h-5 fill-current" aria-hidden="true" > <path fill-rule="evenodd" d="M0.504468485,6.41311307 L4.40263405,6.41311307 L4.40263405,19.9987194 L0.504468485,19.9987194 L0.504468485,6.41311307 Z M2.35418627,4.71379178 L2.32596425,4.71379178 C0.914863594,4.71379178 0,3.67524651 0,2.36009732 C0,1.01805609 0.94190969,0 2.38123236,0 C3.81937912,0 4.70366886,1.01549494 4.73189087,2.3562556 C4.73189087,3.67140479 3.81937912,4.71379178 2.35418627,4.71379178 L2.35418627,4.71379178 Z M20,20 L15.5797272,20 L15.5797272,12.9683698 C15.5797272,11.1281854 14.8882879,9.8732232 13.3678269,9.8732232 C12.2048448,9.8732232 11.5580903,10.7196824 11.2570555,11.537969 C11.1441675,11.8299398 11.1618062,12.2384428 11.1618062,12.6482264 L11.1618062,20 L6.7826905,20 C6.7826905,20 6.83913452,7.54514022 6.7826905,6.41311307 L11.1618062,6.41311307 L11.1618062,8.54526828 C11.420508,7.61301063 12.8198495,6.28249456 15.0529163,6.28249456 C17.8233772,6.28249456 20,8.23793059 20,12.4446152 L20,20 L20,20 Z" /> </svg> </a> </div> </div> <div class="flex flex-col w-full space-y-2 lg:w-1/5"> <div class="pb-5 -mt-2 font-serif text-3xl font-light text-charcoal-10">Work</div> <div class="leading-none pb-1.5"> <a class="font-mono word-spacing-tight font-bold text-sm uppercase tracking-widest pb-1.5 text-gray border-b border-transparent hover:underline hover:decoration-yellow hover:underline-offset-4" href="/services/"> Services </a> </div> <div class="leading-none pb-1.5"> <a class="font-mono word-spacing-tight font-bold text-sm uppercase tracking-widest pb-1.5 text-gray border-b border-transparent hover:underline hover:decoration-yellow hover:underline-offset-4" href="/manifesto/"> Manifesto </a> </div> <div class="leading-none pb-1.5"> <a class="font-mono word-spacing-tight font-bold text-sm uppercase tracking-widest pb-1.5 text-gray border-b border-transparent hover:underline hover:decoration-yellow hover:underline-offset-4" href="/results/"> Results </a> </div> </div> <div class="flex flex-col w-full space-y-2 lg:w-1/5"> <div class="pb-5 -mt-2 font-serif text-3xl font-light text-charcoal-10">Company</div> <div class="leading-none pb-1.5"> <a class="font-mono word-spacing-tight font-bold text-sm uppercase tracking-widest pb-1.5 text-gray border-b border-transparent hover:underline hover:decoration-yellow hover:underline-offset-4" href="/about/"> About </a> </div> <div class="leading-none pb-1.5"> <a class="font-mono word-spacing-tight font-bold text-sm uppercase tracking-widest pb-1.5 text-gray border-b border-transparent hover:underline hover:decoration-yellow hover:underline-offset-4" href="/team/"> Team </a> </div> <div class="leading-none pb-1.5"> <a class="font-mono word-spacing-tight font-bold text-sm uppercase tracking-widest pb-1.5 text-gray border-b border-transparent hover:underline hover:decoration-yellow hover:underline-offset-4" href="/insights/"> Blog </a> </div> <div class="leading-none pb-1.5"> <a class="font-mono word-spacing-tight font-bold text-sm uppercase tracking-widest pb-1.5 text-gray border-b border-transparent hover:underline hover:decoration-yellow hover:underline-offset-4" href="/careers/"> Careers </a> </div> <div class="leading-none pb-1.5"> <a class="font-mono word-spacing-tight font-bold text-sm uppercase tracking-widest pb-1.5 text-gray border-b border-transparent hover:underline hover:decoration-yellow hover:underline-offset-4" href="/contact/"> Contact </a> </div> </div> <div class="flex flex-col w-full space-y-2 lg:w-1/5"> <div class="pb-5 -mt-2 font-serif text-3xl font-light text-charcoal-10">Community</div> <div class="leading-none pb-1.5"> <a class="font-mono word-spacing-tight font-bold text-sm uppercase tracking-widest pb-1.5 text-gray border-b border-transparent hover:underline hover:decoration-yellow hover:underline-offset-4" href="https://laravelpodcast.com/"> The Laravel Podcast </a> </div> <div class="leading-none pb-1.5"> <a class="font-mono word-spacing-tight font-bold text-sm uppercase tracking-widest pb-1.5 text-gray border-b border-transparent hover:underline hover:decoration-yellow hover:underline-offset-4" href="https://businessoflaravel.com/"> The Business of Laravel Podcast </a> </div> <div class="leading-none pb-1.5"> <a class="font-mono word-spacing-tight font-bold text-sm uppercase tracking-widest pb-1.5 text-gray border-b border-transparent hover:underline hover:decoration-yellow hover:underline-offset-4" href="https://twentypercent.fm/"> Twenty Percent Time Podcast </a> </div> <div class="leading-none pb-1.5"> <a class="font-mono word-spacing-tight font-bold text-sm uppercase tracking-widest pb-1.5 text-gray border-b border-transparent hover:underline hover:decoration-yellow hover:underline-offset-4" href="https://onramp.dev/"> Laravel Onramp </a> </div> <div class="leading-none pb-1.5"> <a class="font-mono word-spacing-tight font-bold text-sm uppercase tracking-widest pb-1.5 text-gray border-b border-transparent hover:underline hover:decoration-yellow hover:underline-offset-4" href="https://novapackages.com/"> Nova Packages </a> </div> <div class="leading-none pb-1.5"> <a class="font-mono word-spacing-tight font-bold text-sm uppercase tracking-widest pb-1.5 text-gray border-b border-transparent hover:underline hover:decoration-yellow hover:underline-offset-4" href="https://laravel-tricks.com/"> Laravel Tricks </a> </div> </div> </div> </div> <div class="px-6 py-10 text-xs lg:py-8 md:px-16 lg:px-28 bg-charcoal text-gray sm:text-sm"> <div class="max-w-screen-2xl mx-auto"> <div class="flex flex-col items-center justify-between w-full lg:flex-row"> <div class="flex items-center"> <div>©2025 Tighten Co.</div> <span class="mx-3">·</span> <a class="underline hover:text-white" href="/privacy-policy/">Privacy Policy</a> </div> <div class="flex items-center order-first pb-3 lg:pb-0 lg:order-last"> <a href="https://jigsaw.tighten.com/" class="flex items-center justify-center text-sm text-gray hover:text-yellow transition-colors" > <svg viewBox="0 0 28 28" fill="none" stroke="none" class="w-5 h-5 mr-2 sm:h-6 sm:w-6" aria-hidden="true" > <path fill="currentColor" d="M22.6,1.218H5.4A4.182,4.182,0,0,0,1.218,5.4V22.6A4.182,4.182,0,0,0,5.4,26.782H22.6A4.182,4.182,0,0,0,26.782,22.6V5.4A4.182,4.182,0,0,0,22.6,1.218Zm0,1A3.181,3.181,0,0,1,25.782,5.4v8.229H22.056a.733.733,0,0,1-.659-.407.578.578,0,0,1,.108-.666l.385-.384a1.616,1.616,0,0,0,.468-1.133V10.93a2.217,2.217,0,1,0-4.434,0v.105a1.593,1.593,0,0,0,.469,1.133l.382.383a.577.577,0,0,1,.11.667.733.733,0,0,1-.658.407H14.375V9.774a1.476,1.476,0,0,0-.821-1.329,1.325,1.325,0,0,0-1.533.248l-.383.383a.857.857,0,0,1-.6.25H10.93a1.467,1.467,0,1,1,0-2.934h.105a.857.857,0,0,1,.6.25l.383.382a1.326,1.326,0,0,0,1.533.249,1.476,1.476,0,0,0,.821-1.329V2.218ZM13.625,5.944a.733.733,0,0,1-.407.659.574.574,0,0,1-.666-.109l-.383-.383a1.617,1.617,0,0,0-1.134-.469H10.93a2.217,2.217,0,1,0,0,4.434h.105a1.614,1.614,0,0,0,1.134-.47l.383-.382a.577.577,0,0,1,.667-.108.731.731,0,0,1,.406.658v3.851H9.773a1.478,1.478,0,0,0-1.328.821,1.326,1.326,0,0,0,.248,1.533l.383.383a.847.847,0,0,1,.25.6v.105a1.467,1.467,0,1,1-2.934,0v-.105a.858.858,0,0,1,.249-.6l.384-.383a1.327,1.327,0,0,0,.248-1.532,1.475,1.475,0,0,0-1.329-.822H2.218V5.4A3.181,3.181,0,0,1,5.4,2.218h8.229ZM5.4,25.782A3.181,3.181,0,0,1,2.218,22.6V14.375H5.944a.733.733,0,0,1,.659.407.578.578,0,0,1-.108.666l-.385.384a1.616,1.616,0,0,0-.468,1.133v.105a2.217,2.217,0,1,0,4.434,0v-.105a1.593,1.593,0,0,0-.469-1.133l-.382-.383a.577.577,0,0,1-.11-.667.733.733,0,0,1,.658-.407h3.852v3.851a1.476,1.476,0,0,0,.821,1.329,1.326,1.326,0,0,0,1.533-.248l.383-.383a.857.857,0,0,1,.6-.25h.105a1.467,1.467,0,1,1,0,2.934h-.105a.857.857,0,0,1-.6-.25l-.383-.382a1.324,1.324,0,0,0-1.533-.249,1.476,1.476,0,0,0-.821,1.329v3.726Zm8.979-3.726a.733.733,0,0,1,.407-.659.578.578,0,0,1,.666.109l.383.383a1.617,1.617,0,0,0,1.134.469h.105a2.217,2.217,0,1,0,0-4.434h-.105a1.614,1.614,0,0,0-1.134.47l-.383.382a.574.574,0,0,1-.667.108.731.731,0,0,1-.406-.658V14.375h3.852a1.478,1.478,0,0,0,1.328-.821,1.326,1.326,0,0,0-.248-1.533l-.383-.383a.847.847,0,0,1-.25-.6V10.93a1.467,1.467,0,1,1,2.934,0v.105a.858.858,0,0,1-.249.6l-.384.383a1.327,1.327,0,0,0-.248,1.532,1.475,1.475,0,0,0,1.329.822h3.726V22.6A3.181,3.181,0,0,1,22.6,25.782H14.375Z" /> </svg> Built with Jigsaw </a> <span class="mx-3">·</span> <a href="https://fieldgoal.io/" class="flex items-center justify-center text-sm text-gray hover:text-yellow transition-colors" > <svg viewBox="0 0 27 28" fill="none" stroke="none" class="w-4 h-4 mr-2 sm:h-5 sm:w-5" aria-hidden="true" > <path fill-rule="evenodd" clip-rule="evenodd" fill="currentColor" d="M0.5 3C0.5 1.61929 1.61929 0.5 3 0.5H24C25.3807 0.5 26.5 1.61929 26.5 3V5C26.5 6.38071 25.3807 7.5 24 7.5H3C1.61929 7.5 0.5 6.38071 0.5 5V3ZM3 1.5C2.17157 1.5 1.5 2.17157 1.5 3V5C1.5 5.82843 2.17157 6.5 3 6.5H24C24.8284 6.5 25.5 5.82843 25.5 5V3C25.5 2.17157 24.8284 1.5 24 1.5H3ZM0.5 13C0.5 11.6193 1.61929 10.5 3 10.5H17C18.3807 10.5 19.5 11.6193 19.5 13V15C19.5 16.3807 18.3807 17.5 17 17.5H3C1.61929 17.5 0.5 16.3807 0.5 15V13ZM3 11.5C2.17157 11.5 1.5 12.1716 1.5 13V15C1.5 15.8284 2.17157 16.5 3 16.5H17C17.8284 16.5 18.5 15.8284 18.5 15V13C18.5 12.1716 17.8284 11.5 17 11.5H3ZM3 20.5C1.61929 20.5 0.5 21.6193 0.5 23V25C0.5 26.3807 1.61929 27.5 3 27.5H8C9.38071 27.5 10.5 26.3807 10.5 25V23C10.5 21.6193 9.38071 20.5 8 20.5H3ZM1.5 23C1.5 22.1716 2.17157 21.5 3 21.5H8C8.82843 21.5 9.5 22.1716 9.5 23V25C9.5 25.8284 8.82843 26.5 8 26.5H3C2.17157 26.5 1.5 25.8284 1.5 25V23Z" /> </svg> Forms by FieldGoal </a> </div> </div> </div> </div> </div> </body> </html>