<!DOCTYPE html><html  lang="en"><head><meta charset="utf-8"><meta name="viewport" content="width=device-width, initial-scale=1, viewport-fit=cover"><title>Stuart Technologies - Building Better Apps &amp; Websites</title><script nonce="9lYvpGvRUgeFNbRS6EqwSxyb" type="text/javascript">
            (function() {
              const theme = localStorage.getItem('stuarttech-theme') ||
                (window.matchMedia('(prefers-color-scheme: dark)').matches ? 'dark' : 'light');
              if (theme === 'dark') {
                document.documentElement.classList.add('dark');
              }
            })();
          </script><link nonce="9lYvpGvRUgeFNbRS6EqwSxyb" integrity="sha384-4J2agRyuL1YHnS8Qb/A4b4EIe8X3/0wx24Z+xx8npm64BQkVA4C77+Ex//rQxGIc" rel="stylesheet" href="/_nuxt/entry.BaGBdVp6.css" crossorigin><style nonce="9lYvpGvRUgeFNbRS6EqwSxyb">:where(.i-lucide\:arrow-right){display:inline-block;width:1em;height:1em;background-color:currentColor;-webkit-mask-image:var(--svg);mask-image:var(--svg);-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-size:100% 100%;mask-size:100% 100%;--svg:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' width='24' height='24'%3E%3Cpath fill='none' stroke='black' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M5 12h14m-7-7l7 7l-7 7'/%3E%3C/svg%3E")}:where(.i-lucide\:book-open){display:inline-block;width:1em;height:1em;background-color:currentColor;-webkit-mask-image:var(--svg);mask-image:var(--svg);-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-size:100% 100%;mask-size:100% 100%;--svg:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' width='24' height='24'%3E%3Cpath fill='none' stroke='black' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M12 7v14m-9-3a1 1 0 0 1-1-1V4a1 1 0 0 1 1-1h5a4 4 0 0 1 4 4a4 4 0 0 1 4-4h5a1 1 0 0 1 1 1v13a1 1 0 0 1-1 1h-6a3 3 0 0 0-3 3a3 3 0 0 0-3-3z'/%3E%3C/svg%3E")}:where(.i-lucide\:brain){display:inline-block;width:1em;height:1em;background-color:currentColor;-webkit-mask-image:var(--svg);mask-image:var(--svg);-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-size:100% 100%;mask-size:100% 100%;--svg:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' width='24' height='24'%3E%3Cg fill='none' stroke='black' stroke-linecap='round' stroke-linejoin='round' stroke-width='2'%3E%3Cpath d='M12 18V5m3 8a4.17 4.17 0 0 1-3-4a4.17 4.17 0 0 1-3 4m8.598-6.5A3 3 0 1 0 12 5a3 3 0 1 0-5.598 1.5'/%3E%3Cpath d='M17.997 5.125a4 4 0 0 1 2.526 5.77'/%3E%3Cpath d='M18 18a4 4 0 0 0 2-7.464'/%3E%3Cpath d='M19.967 17.483A4 4 0 1 1 12 18a4 4 0 1 1-7.967-.517'/%3E%3Cpath d='M6 18a4 4 0 0 1-2-7.464'/%3E%3Cpath d='M6.003 5.125a4 4 0 0 0-2.526 5.77'/%3E%3C/g%3E%3C/svg%3E")}:where(.i-lucide\:file-text){display:inline-block;width:1em;height:1em;background-color:currentColor;-webkit-mask-image:var(--svg);mask-image:var(--svg);-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-size:100% 100%;mask-size:100% 100%;--svg:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' width='24' height='24'%3E%3Cg fill='none' stroke='black' stroke-linecap='round' stroke-linejoin='round' stroke-width='2'%3E%3Cpath d='M6 22a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h8a2.4 2.4 0 0 1 1.704.706l3.588 3.588A2.4 2.4 0 0 1 20 8v12a2 2 0 0 1-2 2z'/%3E%3Cpath d='M14 2v5a1 1 0 0 0 1 1h5M10 9H8m8 4H8m8 4H8'/%3E%3C/g%3E%3C/svg%3E")}:where(.i-lucide\:github){display:inline-block;width:1em;height:1em;background-color:currentColor;-webkit-mask-image:var(--svg);mask-image:var(--svg);-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-size:100% 100%;mask-size:100% 100%;--svg:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' width='24' height='24'%3E%3Cg fill='none' stroke='black' stroke-linecap='round' stroke-linejoin='round' stroke-width='2'%3E%3Cpath d='M15 22v-4a4.8 4.8 0 0 0-1-3.5c3 0 6-2 6-5.5c.08-1.25-.27-2.48-1-3.5c.28-1.15.28-2.35 0-3.5c0 0-1 0-3 1.5c-2.64-.5-5.36-.5-8 0C6 2 5 2 5 2c-.3 1.15-.3 2.35 0 3.5A5.4 5.4 0 0 0 4 9c0 3.5 3 5.5 6 5.5c-.39.49-.68 1.05-.85 1.65S8.93 17.38 9 18v4'/%3E%3Cpath d='M9 18c-4.51 2-5-2-7-2'/%3E%3C/g%3E%3C/svg%3E")}:where(.i-lucide\:globe){display:inline-block;width:1em;height:1em;background-color:currentColor;-webkit-mask-image:var(--svg);mask-image:var(--svg);-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-size:100% 100%;mask-size:100% 100%;--svg:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' width='24' height='24'%3E%3Cg fill='none' stroke='black' stroke-linecap='round' stroke-linejoin='round' stroke-width='2'%3E%3Ccircle cx='12' cy='12' r='10'/%3E%3Cpath d='M12 2a14.5 14.5 0 0 0 0 20a14.5 14.5 0 0 0 0-20M2 12h20'/%3E%3C/g%3E%3C/svg%3E")}:where(.i-lucide\:heart-handshake){display:inline-block;width:1em;height:1em;background-color:currentColor;-webkit-mask-image:var(--svg);mask-image:var(--svg);-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-size:100% 100%;mask-size:100% 100%;--svg:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' width='24' height='24'%3E%3Cpath fill='none' stroke='black' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M19.414 14.414C21 12.828 22 11.5 22 9.5a5.5 5.5 0 0 0-9.591-3.676a.6.6 0 0 1-.818.001A5.5 5.5 0 0 0 2 9.5c0 2.3 1.5 4 3 5.5l5.535 5.362a2 2 0 0 0 2.879.052a2.12 2.12 0 0 0-.004-3a2.124 2.124 0 1 0 3-3a2.124 2.124 0 0 0 3.004 0a2 2 0 0 0 0-2.828l-1.881-1.882a2.41 2.41 0 0 0-3.409 0l-1.71 1.71a2 2 0 0 1-2.828 0a2 2 0 0 1 0-2.828l2.823-2.762'/%3E%3C/svg%3E")}:where(.i-lucide\:instagram){display:inline-block;width:1em;height:1em;background-color:currentColor;-webkit-mask-image:var(--svg);mask-image:var(--svg);-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-size:100% 100%;mask-size:100% 100%;--svg:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' width='24' height='24'%3E%3Cg fill='none' stroke='black' stroke-linecap='round' stroke-linejoin='round' stroke-width='2'%3E%3Crect width='20' height='20' x='2' y='2' rx='5' ry='5'/%3E%3Cpath d='M16 11.37A4 4 0 1 1 12.63 8A4 4 0 0 1 16 11.37m1.5-4.87h.01'/%3E%3C/g%3E%3C/svg%3E")}:where(.i-lucide\:linkedin){display:inline-block;width:1em;height:1em;background-color:currentColor;-webkit-mask-image:var(--svg);mask-image:var(--svg);-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-size:100% 100%;mask-size:100% 100%;--svg:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' width='24' height='24'%3E%3Cg fill='none' stroke='black' stroke-linecap='round' stroke-linejoin='round' stroke-width='2'%3E%3Cpath d='M16 8a6 6 0 0 1 6 6v7h-4v-7a2 2 0 0 0-2-2a2 2 0 0 0-2 2v7h-4v-7a6 6 0 0 1 6-6M2 9h4v12H2z'/%3E%3Ccircle cx='4' cy='4' r='2'/%3E%3C/g%3E%3C/svg%3E")}:where(.i-lucide\:menu){display:inline-block;width:1em;height:1em;background-color:currentColor;-webkit-mask-image:var(--svg);mask-image:var(--svg);-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-size:100% 100%;mask-size:100% 100%;--svg:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' width='24' height='24'%3E%3Cpath fill='none' stroke='black' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M4 5h16M4 12h16M4 19h16'/%3E%3C/svg%3E")}:where(.i-lucide\:sliders-horizontal){display:inline-block;width:1em;height:1em;background-color:currentColor;-webkit-mask-image:var(--svg);mask-image:var(--svg);-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-size:100% 100%;mask-size:100% 100%;--svg:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' width='24' height='24'%3E%3Cpath fill='none' stroke='black' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M10 5H3m9 14H3M14 3v4m2 10v4m5-9h-9m9 7h-5m5-14h-7m-6 5v4m0-2H3'/%3E%3C/svg%3E")}:where(.i-lucide\:smartphone){display:inline-block;width:1em;height:1em;background-color:currentColor;-webkit-mask-image:var(--svg);mask-image:var(--svg);-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-size:100% 100%;mask-size:100% 100%;--svg:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' width='24' height='24'%3E%3Cg fill='none' stroke='black' stroke-linecap='round' stroke-linejoin='round' stroke-width='2'%3E%3Crect width='14' height='20' x='5' y='2' rx='2' ry='2'/%3E%3Cpath d='M12 18h.01'/%3E%3C/g%3E%3C/svg%3E")}:where(.i-lucide\:trending-up){display:inline-block;width:1em;height:1em;background-color:currentColor;-webkit-mask-image:var(--svg);mask-image:var(--svg);-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-size:100% 100%;mask-size:100% 100%;--svg:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' width='24' height='24'%3E%3Cg fill='none' stroke='black' stroke-linecap='round' stroke-linejoin='round' stroke-width='2'%3E%3Cpath d='M16 7h6v6'/%3E%3Cpath d='m22 7l-8.5 8.5l-5-5L2 17'/%3E%3C/g%3E%3C/svg%3E")}:where(.i-lucide\:twitter){display:inline-block;width:1em;height:1em;background-color:currentColor;-webkit-mask-image:var(--svg);mask-image:var(--svg);-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-size:100% 100%;mask-size:100% 100%;--svg:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' width='24' height='24'%3E%3Cpath fill='none' stroke='black' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M22 4s-.7 2.1-2 3.4c1.6 10-9.4 17.3-18 11.6c2.2.1 4.4-.6 6-2C3 15.5.5 9.6 3 5c2.2 2.6 5.6 4.1 9 4c-.9-4.2 4-6.6 7-3.8c1.1 0 3-1.2 3-1.2'/%3E%3C/svg%3E")}</style><link nonce="9lYvpGvRUgeFNbRS6EqwSxyb" integrity="sha384-8XTcUGQEYwBVSZmQGSuctW35jo9koG29BQ65pneVm/iTqLQAFwiTEpsKSnX2xRuN" rel="modulepreload" as="script" crossorigin href="/_nuxt/DKidfM72.js"><link nonce="9lYvpGvRUgeFNbRS6EqwSxyb" integrity="sha384-QRhraPI/RmXoV8TasxOdlKi41OI3mSh/24kfX28gb8g6g1HuDhvyr7cP0//CeQwt" rel="modulepreload" as="script" crossorigin href="/_nuxt/KbR44mWc.js"><link nonce="9lYvpGvRUgeFNbRS6EqwSxyb" integrity="sha384-00o1dNGRMI8xwjnT5fcwT+J1E3ua/VChwkHS+vD6HYr5qngZUYWGYkV5RArhyMuN" rel="modulepreload" as="script" crossorigin href="/_nuxt/VZo538_p.js"><link nonce="9lYvpGvRUgeFNbRS6EqwSxyb" integrity="sha384-BckXW12zwQKQ40Tzo28solcVqZuX6S6bdGbqbqv/hMwYLe/gPqqYaIgsxMFYUtFz" rel="modulepreload" as="script" crossorigin href="/_nuxt/JwRjLR3S.js"><link nonce="9lYvpGvRUgeFNbRS6EqwSxyb" integrity="sha384-Zfou0FDhtOdsVzxCkqdODSP8aUbh86cOUjKrFjKjC5ExS8qlsdZwsbmSMgq6Iqb/" rel="modulepreload" as="script" crossorigin href="/_nuxt/DJFkq0qG.js"><link nonce="9lYvpGvRUgeFNbRS6EqwSxyb" integrity="sha384-m/IuCA19y87Heq3QiasJQuW1ARquMSZ9Qd5p+ctLvWWd7I6ZKeKwrivigibU9O1r" rel="modulepreload" as="script" crossorigin href="/_nuxt/C3qHDipI.js"><link nonce="9lYvpGvRUgeFNbRS6EqwSxyb" integrity="sha384-EpUT+fLTVE5MuDXdFDUJ0SYcvWxrAWW2QJtMqxZe7YpbmTIhZz/pbBHIUlU4LuMo" rel="modulepreload" as="script" crossorigin href="/_nuxt/BqtzDFbb.js"><link nonce="9lYvpGvRUgeFNbRS6EqwSxyb" integrity="sha384-OBHkuJh+o5JRvLgusUfsKDHBj9Gxe8Gx+efqrlcnF3i+VptFf6u8QBQGBX3nT9Bp" rel="modulepreload" as="script" crossorigin href="/_nuxt/DFBNnHcB.js"><link nonce="9lYvpGvRUgeFNbRS6EqwSxyb" integrity="sha384-aS2/wa4YkOU7tBuwV1hUsiCBCtPr5NwJTAcwaFcZgrjaMbUKS4omru0nsz54xtSF" rel="modulepreload" as="script" crossorigin href="/_nuxt/BVycEUbE.js"><link nonce="9lYvpGvRUgeFNbRS6EqwSxyb" integrity="sha384-UtmPaoHyA+ZMv2yeOuue2CIMLvp2hym3AmlMp0vV+TNWFq21A5Ky/y/XCowSytyv" rel="modulepreload" as="script" crossorigin href="/_nuxt/C59e5HFo.js"><link nonce="9lYvpGvRUgeFNbRS6EqwSxyb" integrity="sha384-3lLAQzN8Lj6Gt5INR9/Pc8P1fKUmUNNYW7cx1bF3HSKuYsi3+FPibMuCgz4kBobV" rel="modulepreload" as="script" crossorigin href="/_nuxt/Chef7ara.js"><link nonce="9lYvpGvRUgeFNbRS6EqwSxyb" integrity="sha384-7V6Fs/s0Ws6N3uCONcdUDFVzcR2DQi6L1deGhW+o06cYeuNC5dZlzHpti7CEnIFJ" rel="modulepreload" as="script" crossorigin href="/_nuxt/B3cf_DX0.js"><link nonce="9lYvpGvRUgeFNbRS6EqwSxyb" integrity="sha384-3eR09Qxmxzr+4FvFlqV5EeFtczxKiBi5hrR1J9RA8ELa0nG4Qj7EgICmqRUrRmpg" rel="modulepreload" as="script" crossorigin href="/_nuxt/BoHRNeBC.js"><link nonce="9lYvpGvRUgeFNbRS6EqwSxyb" integrity="sha384-RlqAiKvljWwV/gQqb53E7IkbAvkig2zfx8u4/xXfPDnvwQNzeVUkYBxvVzKdNNWU" rel="modulepreload" as="script" crossorigin href="/_nuxt/DCX4PyvW.js"><link nonce="9lYvpGvRUgeFNbRS6EqwSxyb" integrity="sha384-ua+5JsLkvBpDBSueXfeyMI2lzJhz5W9b+08oXULIjzD/2zIqs7ps+cDZSUDm7Z8g" rel="modulepreload" as="script" crossorigin href="/_nuxt/BaQgwEny.js"><link nonce="9lYvpGvRUgeFNbRS6EqwSxyb" integrity="sha384-2iHmM6LxZBxH4TLWXipebW+8tIj+aJmiuFnas1C3nYwvYbQw1SOFBMIQF/+Fg58a" rel="modulepreload" as="script" crossorigin href="/_nuxt/CGdkaUl3.js"><script nonce="9lYvpGvRUgeFNbRS6EqwSxyb" integrity="sha384-8XTcUGQEYwBVSZmQGSuctW35jo9koG29BQ65pneVm/iTqLQAFwiTEpsKSnX2xRuN" type="module" src="/_nuxt/DKidfM72.js" crossorigin></script><meta name="theme-color" content="#ffffff" media="(prefers-color-scheme: light)"><meta name="theme-color" content="#000000" media="(prefers-color-scheme: dark)"><link nonce="9lYvpGvRUgeFNbRS6EqwSxyb" rel="icon" type="image/x-icon" href="/favicon.ico"><script nonce="9lYvpGvRUgeFNbRS6EqwSxyb" type="application/ld+json">{"@context":"https://schema.org","@type":"WebSite","name":"Stuart Technologies","url":"https://stuarttech.com","description":"Professional website and app development services. Better apps, better websites, better experiences.","publisher":{"@type":"Organization","name":"Stuart Technologies","url":"https://stuarttech.com","logo":{"@type":"ImageObject","url":"https://stuarttech.com/stuarttech-logo-3.png"}},"potentialAction":{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https://stuarttech.com/better?q={search_term_string}"},"query-input":"required name=search_term_string"}}</script><meta name="description" content="You deserve better. Better apps, better websites, better experiences. We build premium iOS apps and modern web solutions that make a real difference. Betting on better since day one."><meta name="keywords" content="better apps, iOS development, mobile apps, website development, Vue.js, Nuxt, Better Solitaire, Better Bible, software development, custom applications"><meta name="author" content="Patrick Stuart"><meta property="og:type" content="website"><meta property="og:url" content="https://stuarttech.com"><meta property="og:title" content="Stuart Technologies - You Deserve Better"><meta property="og:description" content="Better apps. Better websites. Better experiences. We're betting on better—and you should too."><meta property="og:image" content="https://stuarttech.com/stuarttech-logo-3.png"><meta property="og:image:width" content="1200"><meta property="og:image:height" content="630"><meta property="og:site_name" content="Stuart Technologies"><meta property="og:locale" content="en_US"><meta name="twitter:card" content="summary_large_image"><meta name="twitter:site" content="@stuarttech"><meta name="twitter:creator" content="@stuarttech"><meta name="twitter:title" content="Stuart Technologies - You Deserve Better"><meta name="twitter:description" content="Better apps. Better websites. Better experiences. We're betting on better."><meta name="twitter:image" content="https://stuarttech.com/stuarttech-logo-3.png"><meta name="robots" content="index, follow"><link nonce="9lYvpGvRUgeFNbRS6EqwSxyb" rel="canonical" href="https://stuarttech.com"><script nonce="9lYvpGvRUgeFNbRS6EqwSxyb" type="application/ld+json">{"@context":"https://schema.org","@type":"Organization","name":"Stuart Technologies","url":"https://stuarttech.com","logo":"https://stuarttech.com/stuarttech-logo-3.png","description":"Professional website and app development services","founder":{"@type":"Person","name":"Patrick Stuart"},"contactPoint":{"@type":"ContactPoint","email":"contact@stuarttech.com","contactType":"Customer Service"},"sameAs":["https://github.com/pstuart","https://linkedin.com/in/patrickstuart","https://x.com/pstuart","https://www.instagram.com/pstuart"]}</script><script nonce="9lYvpGvRUgeFNbRS6EqwSxyb" type="application/ld+json">{"@context":"https://schema.org","@type":"Service","serviceType":"Software Development","name":"iOS App Development","description":"Custom iOS app development using Swift and SwiftUI. We build premium native apps that make life better.","provider":{"@type":"Organization","name":"Stuart Technologies","url":"https://stuarttech.com"},"areaServed":"Worldwide","hasOfferCatalog":{"@type":"OfferCatalog","name":"Development Services","itemListElement":[{"@type":"Offer","itemOffered":{"@type":"Service","name":"iOS App Development","description":"Native iOS applications built with Swift and SwiftUI"}},{"@type":"Offer","itemOffered":{"@type":"Service","name":"Web Development","description":"Modern web applications built with Vue.js, Nuxt, and TypeScript"}},{"@type":"Offer","itemOffered":{"@type":"Service","name":"Cross-Platform Development","description":"Multi-platform applications that work across iOS, web, and more"}}]}}</script><script nonce="9lYvpGvRUgeFNbRS6EqwSxyb" id="unhead:payload" type="application/json">{"title":"Stuart Technologies - Building Better Apps & Websites"}</script></head><body><div id="__nuxt"><div><div class="min-h-screen flex flex-col"><nav class="fixed top-0 left-0 right-0 z-50 bg-white/85 dark:bg-black/85 backdrop-blur-2xl border-b border-gray-200/60 dark:border-gray-800/60 shadow-refined"><div class="max-w-7xl mx-auto px-6 lg:px-8"><div class="flex items-center justify-between h-16"><a aria-current="page" href="/" class="router-link-active router-link-exact-active flex items-center gap-3 text-xl font-bold tracking-refined-tight text-gray-900 dark:text-white hover:opacity-75 transition-all duration-300"><img width="40" height="40" data-nuxt-img srcset="/_ipx/q_80&amp;s_40x40/stuarttech-logo-3.webp 1x, /_ipx/q_80&amp;s_80x80/stuarttech-logo-3.webp 2x" onerror="this.setAttribute(&#39;data-error&#39;, 1)" alt="Stuart Technologies - Website and App Development Company Logo" loading="eager" class="h-10 w-10 transition-transform duration-300 hover:scale-105" src="/_ipx/q_80&amp;s_40x40/stuarttech-logo-3.webp"><span>Stuart Technologies</span></a><div class="hidden md:flex items-center gap-2"><!--[--><a aria-current="page" href="/" class="router-link-active router-link-exact-active relative px-4 py-2 text-sm font-semibold rounded-lg transition-all duration-300 focus:outline-none focus:ring-2 focus:ring-brand-accent/50 text-brand-primary dark:text-brand-primary bg-brand-primary/10 dark:bg-brand-primary/20">Home</a><a href="/about" class="relative px-4 py-2 text-sm font-semibold rounded-lg transition-all duration-300 focus:outline-none focus:ring-2 focus:ring-brand-accent/50 text-gray-600 dark:text-gray-400 hover:text-gray-900 dark:hover:text-white hover:bg-gray-100/50 dark:hover:bg-gray-800/50">About</a><a href="/better" class="relative px-4 py-2 text-sm font-semibold rounded-lg transition-all duration-300 focus:outline-none focus:ring-2 focus:ring-brand-accent/50 text-gray-600 dark:text-gray-400 hover:text-gray-900 dark:hover:text-white hover:bg-gray-100/50 dark:hover:bg-gray-800/50">Products</a><a href="/resources" class="relative px-4 py-2 text-sm font-semibold rounded-lg transition-all duration-300 focus:outline-none focus:ring-2 focus:ring-brand-accent/50 text-gray-600 dark:text-gray-400 hover:text-gray-900 dark:hover:text-white hover:bg-gray-100/50 dark:hover:bg-gray-800/50">Resources</a><a href="/websites" class="relative px-4 py-2 text-sm font-semibold rounded-lg transition-all duration-300 focus:outline-none focus:ring-2 focus:ring-brand-accent/50 text-gray-600 dark:text-gray-400 hover:text-gray-900 dark:hover:text-white hover:bg-gray-100/50 dark:hover:bg-gray-800/50">Websites</a><a href="/clients" class="relative px-4 py-2 text-sm font-semibold rounded-lg transition-all duration-300 focus:outline-none focus:ring-2 focus:ring-brand-accent/50 text-gray-600 dark:text-gray-400 hover:text-gray-900 dark:hover:text-white hover:bg-gray-100/50 dark:hover:bg-gray-800/50">Clients</a><a href="/contact" class="relative px-4 py-2 text-sm font-semibold rounded-lg transition-all duration-300 focus:outline-none focus:ring-2 focus:ring-brand-accent/50 text-gray-600 dark:text-gray-400 hover:text-gray-900 dark:hover:text-white hover:bg-gray-100/50 dark:hover:bg-gray-800/50">Contact</a><!--]--><div class="ml-3 pl-3 border-l border-gray-200 dark:border-gray-800"><!--[--><div class="w-10 h-10"></div><!--]--></div></div><div class="flex items-center gap-2 md:hidden"><!--[--><div class="w-10 h-10"></div><!--]--><button type="button" aria-label="Toggle menu" class="flex items-center justify-center w-10 h-10 rounded-lg text-gray-600 dark:text-gray-400 hover:text-gray-900 dark:hover:text-white hover:bg-gray-100 dark:hover:bg-gray-800 transition-all duration-300 focus:outline-none focus:ring-2 focus:ring-brand-accent/50"><span class="iconify i-lucide:menu w-6 h-6" aria-hidden="true" style=""></span></button></div></div><!----></div></nav><main class="flex-grow pt-16"><!--[--><div class="bg-white dark:bg-black font-sans"><section class="relative min-h-[90vh] flex items-center justify-center overflow-hidden"><video muted playsinline preload="none" class="absolute inset-0 w-full h-full object-cover dark:hidden"><source src="/white-bg.mp4" type="video/mp4"></video><video muted playsinline preload="none" class="absolute inset-0 w-full h-full object-cover hidden dark:block"><source src="/black-bg.mp4" type="video/mp4"></video><div class="absolute inset-0 bg-gradient-to-r from-white/60 via-transparent to-white/60 dark:from-black/60 dark:via-transparent dark:to-black/60 pointer-events-none"></div><div class="absolute inset-0 bg-gradient-to-b from-white/40 via-transparent to-white/40 dark:from-black/40 dark:via-transparent dark:to-black/40 pointer-events-none"></div><section class="w-full mx-auto px-6 sm:px-8 lg:px-12 max-w-7xl relative z-10 text-center"><div class="grid grid-cols-4 md:grid-cols-8 lg:grid-cols-12 gap-x-4 gap-y-8 md:gap-x-6 lg:gap-x-8"><!--[--><div class="col-span-4 md:col-span-8 lg:col-span-10 lg:col-start-2"><div style="opacity:0;transform:translateY(40px);filter:none;transition:opacity 800ms ease-out 0ms, transform 800ms ease-out 0ms, filter 800ms ease-out 0ms;will-change:opacity, transform, filter;"><!--[--><p class="text-lg sm:text-xl text-gray-500 dark:text-gray-400 font-medium tracking-wide uppercase mb-4"> iOS App Development &amp; Web Solutions </p><h1 class="text-6xl sm:text-7xl lg:text-8xl font-bold tracking-tight text-gray-900 dark:text-white mb-8 leading-[1.1]"> You deserve <span class="block mt-2 text-brand-primary">better.</span></h1><!--]--></div><div style="opacity:0;transform:translateY(40px);filter:none;transition:opacity 800ms ease-out 200ms, transform 800ms ease-out 200ms, filter 800ms ease-out 200ms;will-change:opacity, transform, filter;"><!--[--><p class="text-xl sm:text-2xl text-gray-600 dark:text-gray-400 max-w-3xl mx-auto mb-14 leading-relaxed font-medium"> Better apps. Better websites. Better experiences. We&#39;re betting on better—and you should too. </p><!--]--></div><div style="opacity:0;transform:translateY(40px);filter:none;transition:opacity 800ms ease-out 400ms, transform 800ms ease-out 400ms, filter 800ms ease-out 400ms;will-change:opacity, transform, filter;"><!--[--><div class="flex flex-col sm:flex-row gap-5 justify-center items-center"><a href="/better" class="inline-flex items-center justify-center gap-2
    font-semibold rounded-xl
    transition-all duration-300 ease-refined-out
    focus:outline-none focus:ring-2 focus:ring-offset-2
    dark:focus:ring-offset-gray-950
    disabled:opacity-40 disabled:cursor-not-allowed
    disabled:transform-none
    relative overflow-hidden
   
      bg-brand-primary
      text-white shadow-refined-md
      hover:bg-brand-secondary
      hover:shadow-refined-lg hover:-translate-y-0.5
      focus:ring-brand-accent/50
      active:scale-[0.98] active:shadow-refined
      dark:bg-brand-primary dark:hover:bg-brand-secondary
     px-7 py-3.5 text-lg leading-none min-w-[200px]"><!--[--> Explore Better Apps <!--]--></a><a href="/contact" class="inline-flex items-center justify-center gap-2
    font-semibold rounded-xl
    transition-all duration-300 ease-refined-out
    focus:outline-none focus:ring-2 focus:ring-offset-2
    dark:focus:ring-offset-gray-950
    disabled:opacity-40 disabled:cursor-not-allowed
    disabled:transform-none
    relative overflow-hidden
   
      bg-white/90 dark:bg-gray-900/90
      border border-gray-200/70 dark:border-gray-800/70
      text-gray-900 dark:text-white
      shadow-refined backdrop-blur-xl
      hover:bg-white dark:hover:bg-gray-900
      hover:border-gray-300 dark:hover:border-gray-700
      hover:shadow-refined-lg hover:-translate-y-0.5
      focus:ring-gray-500/50
      active:scale-[0.98]
     px-7 py-3.5 text-lg leading-none min-w-[200px]"><!--[--> Get in touch <!--]--></a></div><!--]--></div></div><!--]--></div></section></section><div class="py-24"><section class="w-full mx-auto px-6 sm:px-8 lg:px-12 max-w-7xl"><div class="grid grid-cols-4 md:grid-cols-8 lg:grid-cols-12 gap-x-4 gap-y-8 md:gap-x-6 lg:gap-x-8"><!--[--><div class="col-span-4 md:col-span-8 lg:col-span-12"><div style="opacity:0;transform:scale(0.9);filter:none;transition:opacity 700ms ease-out 0ms, transform 700ms ease-out 0ms, filter 700ms ease-out 0ms;will-change:opacity, transform, filter;"><!--[--><div class="rounded-2xl
    transition-all duration-300 ease-refined-out
   glass-effect-strong p-12 text-center shadow-refined-lg"><!--[--><h2 class="text-4xl sm:text-5xl lg:text-6xl font-bold tracking-tight text-gray-900 dark:text-white mb-8 leading-tight"> Good enough? <span class="block text-brand-secondary mt-3 font-semibold">We can do better.</span></h2><p class="text-xl text-gray-600 dark:text-gray-400 max-w-3xl mx-auto leading-relaxed"> Every project starts with one question: how do we make this better? Better design. Better performance. Better for you. </p><!--]--></div><!--]--></div></div><!--]--></div></section></div><div class="py-24 bg-gray-50/50 dark:bg-gray-950/50"><section class="w-full mx-auto px-6 sm:px-8 lg:px-12 max-w-7xl"><div class="grid grid-cols-4 md:grid-cols-8 lg:grid-cols-12 gap-x-4 gap-y-8 md:gap-x-6 lg:gap-x-8"><!--[--><div class="col-span-4 md:col-span-8 lg:col-span-12 mb-20"><div style="opacity:0;transform:translateY(40px);filter:none;transition:opacity 600ms ease-out 0ms, transform 600ms ease-out 0ms, filter 600ms ease-out 0ms;will-change:opacity, transform, filter;"><!--[--><h2 class="text-5xl sm:text-6xl font-bold tracking-tight text-gray-900 dark:text-white"> The Better Apps. </h2><p class="text-xl text-gray-600 dark:text-gray-400 mt-4"> Apps that make your life better. It&#39;s right there in the name. </p><!--]--></div></div><div class="col-span-4 md:col-span-8 lg:col-span-6 lg:row-span-2"><div style="opacity:0;transform:translateX(-40px);filter:none;transition:opacity 700ms ease-out 100ms, transform 700ms ease-out 100ms, filter 700ms ease-out 100ms;will-change:opacity, transform, filter;"><!--[--><a href="/better/better-markdown" class="group h-full bg-white/90 dark:bg-gray-900/90 backdrop-blur-xl border border-gray-200/60 dark:border-gray-800/60 rounded-3xl p-10 lg:p-14 flex flex-col justify-between min-h-[540px] shadow-refined hover:shadow-refined-xl hover:-translate-y-1 hover:border-brand-primary/30 transition-all duration-300"><div><div class="w-16 h-16 bg-brand-primary rounded-2xl flex items-center justify-center mb-8 shadow-refined-md group-hover:scale-105 transition-transform duration-300"><span class="iconify i-lucide:file-text w-14 h-14 text-white" aria-hidden="true" style=""></span></div><h3 class="text-3xl lg:text-4xl font-bold tracking-tight text-gray-900 dark:text-white mb-3 leading-tight">Better Markdown</h3><p class="text-brand-primary font-medium mb-4">Professional Markdown Editor</p><p class="text-lg text-gray-600 dark:text-gray-400 leading-relaxed">A native macOS Markdown editor with live preview, powerful export options, and a distraction-free writing experience built for developers and writers.</p></div><div class="inline-flex items-center gap-3 text-brand-primary text-lg font-semibold mt-8 group-hover:gap-4 transition-all duration-300"><span>Learn more</span><span class="iconify i-lucide:arrow-right w-5 h-5" aria-hidden="true" style=""></span></div></a><!--]--></div></div><!--[--><div class="col-span-4 md:col-span-4 lg:col-span-6"><div style="opacity:0;transform:translateY(40px);filter:none;transition:opacity 600ms ease-out 200ms, transform 600ms ease-out 200ms, filter 600ms ease-out 200ms;will-change:opacity, transform, filter;"><!--[--><a href="/better/better-bible" class="group h-full bg-white/90 dark:bg-gray-900/90 backdrop-blur-xl border border-gray-200/60 dark:border-gray-800/60 rounded-3xl p-9 flex flex-col justify-between min-h-[260px] shadow-refined hover:shadow-refined-lg hover:-translate-y-1 hover:border-brand-primary/30 transition-all duration-300"><div><div class="w-12 h-12 bg-brand-primary rounded-xl flex items-center justify-center mb-5 shadow-refined group-hover:scale-105 transition-transform duration-300"><span class="iconify i-lucide:book-open w-10 h-10 text-white" aria-hidden="true" style=""></span></div><h3 class="text-2xl font-bold tracking-tight text-gray-900 dark:text-white mb-2">Better Bible</h3><p class="text-sm text-brand-primary font-medium mb-2">Study Scripture Your Way</p><p class="text-base text-gray-600 dark:text-gray-400 leading-relaxed line-clamp-2">Start your Scripture journey today with Better Bible - featuring 17+ translations, audio narration, reading plans, and powerful study tools. Free, no ads, no account required.</p></div></a><!--]--></div></div><div class="col-span-4 md:col-span-4 lg:col-span-6"><div style="opacity:0;transform:translateY(40px);filter:none;transition:opacity 600ms ease-out 300ms, transform 600ms ease-out 300ms, filter 600ms ease-out 300ms;will-change:opacity, transform, filter;"><!--[--><a href="/better/better-bible-trivia" class="group h-full bg-white/90 dark:bg-gray-900/90 backdrop-blur-xl border border-gray-200/60 dark:border-gray-800/60 rounded-3xl p-9 flex flex-col justify-between min-h-[260px] shadow-refined hover:shadow-refined-lg hover:-translate-y-1 hover:border-brand-primary/30 transition-all duration-300"><div><div class="w-12 h-12 bg-brand-primary rounded-xl flex items-center justify-center mb-5 shadow-refined group-hover:scale-105 transition-transform duration-300"><span class="iconify i-lucide:brain w-10 h-10 text-white" aria-hidden="true" style=""></span></div><h3 class="text-2xl font-bold tracking-tight text-gray-900 dark:text-white mb-2">Better Bible Trivia</h3><p class="text-sm text-brand-primary font-medium mb-2">Scripture Quiz Game</p><p class="text-base text-gray-600 dark:text-gray-400 leading-relaxed line-clamp-2">Test your Scripture knowledge with multiple game modes, custom filters, and daily challenges.</p></div></a><!--]--></div></div><div class="col-span-4 md:col-span-4 lg:col-span-6"><div style="opacity:0;transform:translateY(40px);filter:none;transition:opacity 600ms ease-out 400ms, transform 600ms ease-out 400ms, filter 600ms ease-out 400ms;will-change:opacity, transform, filter;"><!--[--><a href="/better/better-devotionals" class="group h-full bg-white/90 dark:bg-gray-900/90 backdrop-blur-xl border border-gray-200/60 dark:border-gray-800/60 rounded-3xl p-9 flex flex-col justify-between min-h-[260px] shadow-refined hover:shadow-refined-lg hover:-translate-y-1 hover:border-brand-primary/30 transition-all duration-300"><div><div class="w-12 h-12 bg-brand-primary rounded-xl flex items-center justify-center mb-5 shadow-refined group-hover:scale-105 transition-transform duration-300"><span class="iconify i-lucide:heart-handshake w-10 h-10 text-white" aria-hidden="true" style=""></span></div><h3 class="text-2xl font-bold tracking-tight text-gray-900 dark:text-white mb-2">Better Devotionals</h3><p class="text-sm text-brand-primary font-medium mb-2">Couples Devotional &amp; Sharing</p><p class="text-base text-gray-600 dark:text-gray-400 leading-relaxed line-clamp-2">Grow together in faith. Daily devotionals for couples with private peer-to-peer sharing.</p></div></a><!--]--></div></div><div class="col-span-4 md:col-span-4 lg:col-span-6"><div style="opacity:0;transform:translateY(40px);filter:none;transition:opacity 600ms ease-out 500ms, transform 600ms ease-out 500ms, filter 600ms ease-out 500ms;will-change:opacity, transform, filter;"><!--[--><a href="/better/better-cq-control" class="group h-full bg-white/90 dark:bg-gray-900/90 backdrop-blur-xl border border-gray-200/60 dark:border-gray-800/60 rounded-3xl p-9 flex flex-col justify-between min-h-[260px] shadow-refined hover:shadow-refined-lg hover:-translate-y-1 hover:border-brand-primary/30 transition-all duration-300"><div><div class="w-12 h-12 bg-brand-primary rounded-xl flex items-center justify-center mb-5 shadow-refined group-hover:scale-105 transition-transform duration-300"><span class="iconify i-lucide:sliders-horizontal w-10 h-10 text-white" aria-hidden="true" style=""></span></div><h3 class="text-2xl font-bold tracking-tight text-gray-900 dark:text-white mb-2">CQ Controller</h3><p class="text-sm text-brand-primary font-medium mb-2">Allen &amp; Heath CQ Mixer Control</p><p class="text-base text-gray-600 dark:text-gray-400 leading-relaxed line-clamp-2">Professional wireless control for Allen &amp; Heath CQ mixers. Mix from anywhere in the venue!</p></div></a><!--]--></div></div><!--]--><div class="col-span-4 md:col-span-8 lg:col-span-12 mt-16 text-center"><div style="opacity:0;transform:translateY(40px);filter:none;transition:opacity 600ms ease-out 500ms, transform 600ms ease-out 500ms, filter 600ms ease-out 500ms;will-change:opacity, transform, filter;"><!--[--><a href="/better" class="inline-flex items-center justify-center gap-2
    font-semibold rounded-xl
    transition-all duration-300 ease-refined-out
    focus:outline-none focus:ring-2 focus:ring-offset-2
    dark:focus:ring-offset-gray-950
    disabled:opacity-40 disabled:cursor-not-allowed
    disabled:transform-none
    relative overflow-hidden
   
      text-gray-700 dark:text-gray-300
      hover:bg-gray-100/80 dark:hover:bg-gray-800/80
      hover:text-gray-900 dark:hover:text-white
      focus:ring-gray-500/50
      active:bg-gray-200/80 dark:active:bg-gray-700/80
     px-7 py-3.5 text-lg leading-none group"><!--[--><span>View all Better Apps</span><span class="iconify i-lucide:arrow-right w-5 h-5 group-hover:translate-x-1 transition-transform duration-300" aria-hidden="true" style=""></span><!--]--></a><!--]--></div></div><!--]--></div></section></div><div class="py-24"><section class="w-full mx-auto px-6 sm:px-8 lg:px-12 max-w-7xl"><div class="grid grid-cols-4 md:grid-cols-8 lg:grid-cols-12 gap-x-4 gap-y-8 md:gap-x-6 lg:gap-x-8"><!--[--><div class="col-span-4 md:col-span-8 lg:col-span-12 mb-20"><div style="opacity:0;transform:translateY(40px);filter:none;transition:opacity 600ms ease-out 0ms, transform 600ms ease-out 0ms, filter 600ms ease-out 0ms;will-change:opacity, transform, filter;"><!--[--><h2 class="text-5xl sm:text-6xl font-bold tracking-tight text-gray-900 dark:text-white"> How we make it better. </h2><!--]--></div></div><div class="col-span-4 md:col-span-4 lg:col-span-4"><div style="opacity:0;transform:translateY(40px);filter:none;transition:opacity 600ms ease-out 100ms, transform 600ms ease-out 100ms, filter 600ms ease-out 100ms;will-change:opacity, transform, filter;"><!--[--><div class="rounded-2xl
    transition-all duration-300 ease-refined-out
   glass-effect p-9 group hover-lift h-full"><!--[--><div class="w-12 h-12 bg-brand-primary rounded-xl flex items-center justify-center mb-7 shadow-refined-md group-hover:scale-105 transition-transform duration-300"><span class="iconify i-lucide:smartphone w-7 h-7 text-white" aria-hidden="true" style=""></span></div><h3 class="text-2xl font-bold tracking-tight text-gray-900 dark:text-white mb-4"> Better Apps </h3><p class="text-base text-gray-600 dark:text-gray-400 leading-relaxed"> Native iOS and cross-platform apps that do one thing: make your day-to-day a little better. </p><!--]--></div><!--]--></div></div><div class="col-span-4 md:col-span-4 lg:col-span-4"><div style="opacity:0;transform:translateY(40px);filter:none;transition:opacity 600ms ease-out 200ms, transform 600ms ease-out 200ms, filter 600ms ease-out 200ms;will-change:opacity, transform, filter;"><!--[--><div class="rounded-2xl
    transition-all duration-300 ease-refined-out
   glass-effect p-9 group hover-lift h-full"><!--[--><div class="w-12 h-12 bg-brand-primary rounded-xl flex items-center justify-center mb-7 shadow-refined-md group-hover:scale-105 transition-transform duration-300"><span class="iconify i-lucide:globe w-7 h-7 text-white" aria-hidden="true" style=""></span></div><h3 class="text-2xl font-bold tracking-tight text-gray-900 dark:text-white mb-4"> Better Websites </h3><p class="text-base text-gray-600 dark:text-gray-400 leading-relaxed"> Websites that look better, load better, and convert better. Because good enough isn&#39;t good enough. </p><!--]--></div><!--]--></div></div><div class="col-span-4 md:col-span-4 lg:col-span-4"><div style="opacity:0;transform:translateY(40px);filter:none;transition:opacity 600ms ease-out 300ms, transform 600ms ease-out 300ms, filter 600ms ease-out 300ms;will-change:opacity, transform, filter;"><!--[--><div class="rounded-2xl
    transition-all duration-300 ease-refined-out
   glass-effect p-9 group hover-lift h-full"><!--[--><div class="w-12 h-12 bg-brand-primary rounded-xl flex items-center justify-center mb-7 shadow-refined-md group-hover:scale-105 transition-transform duration-300"><span class="iconify i-lucide:trending-up w-7 h-7 text-white" aria-hidden="true" style=""></span></div><h3 class="text-2xl font-bold tracking-tight text-gray-900 dark:text-white mb-4"> Better Together </h3><p class="text-base text-gray-600 dark:text-gray-400 leading-relaxed"> We partner with you to understand what &quot;better&quot; means for your project, then we deliver it. </p><!--]--></div><!--]--></div></div><!--]--></div></section></div><div class="py-32"><section class="w-full mx-auto px-6 sm:px-8 lg:px-12 max-w-7xl"><div class="grid grid-cols-4 md:grid-cols-8 lg:grid-cols-12 gap-x-4 gap-y-8 md:gap-x-6 lg:gap-x-8"><!--[--><div class="col-span-4 md:col-span-8 lg:col-span-8 lg:col-start-3 text-center"><div style="opacity:0;transform:scale(0.9);filter:none;transition:opacity 800ms ease-out 0ms, transform 800ms ease-out 0ms, filter 800ms ease-out 0ms;will-change:opacity, transform, filter;"><!--[--><h2 class="text-5xl sm:text-6xl lg:text-7xl font-bold tracking-tight text-gray-900 dark:text-white mb-10 leading-tight"> Ready for better? </h2><!--]--></div><div style="opacity:0;transform:translateY(40px);filter:none;transition:opacity 700ms ease-out 200ms, transform 700ms ease-out 200ms, filter 700ms ease-out 200ms;will-change:opacity, transform, filter;"><!--[--><p class="text-xl sm:text-2xl text-gray-600 dark:text-gray-400 mb-14 leading-relaxed max-w-3xl mx-auto"> You better believe we&#39;re ready to help. Let&#39;s build something better together. </p><!--]--></div><div style="opacity:0;transform:translateY(40px);filter:none;transition:opacity 700ms ease-out 400ms, transform 700ms ease-out 400ms, filter 700ms ease-out 400ms;will-change:opacity, transform, filter;"><!--[--><a href="/contact" class="inline-flex items-center justify-center gap-2
    font-semibold rounded-xl
    transition-all duration-300 ease-refined-out
    focus:outline-none focus:ring-2 focus:ring-offset-2
    dark:focus:ring-offset-gray-950
    disabled:opacity-40 disabled:cursor-not-allowed
    disabled:transform-none
    relative overflow-hidden
   
      bg-brand-primary
      text-white shadow-refined-md
      hover:bg-brand-secondary
      hover:shadow-refined-lg hover:-translate-y-0.5
      focus:ring-brand-accent/50
      active:scale-[0.98] active:shadow-refined
      dark:bg-brand-primary dark:hover:bg-brand-secondary
     px-7 py-3.5 text-lg leading-none text-lg px-10 py-4"><!--[--> Let&#39;s get better <!--]--></a><!--]--></div></div><!--]--></div></section></div></div><!--]--></main><footer class="bg-gray-50/80 dark:bg-gray-950/80 backdrop-blur-xl border-t border-gray-200/60 dark:border-gray-800/60"><div class="max-w-7xl mx-auto px-6 py-20"><div class="grid grid-cols-1 md:grid-cols-3 gap-16 mb-16"><div><a aria-current="page" href="/" class="router-link-active router-link-exact-active inline-flex items-center gap-3 text-2xl font-bold tracking-refined-tight text-gray-900 dark:text-white mb-5 hover:opacity-75 transition-all duration-300 group"><img width="48" height="48" data-nuxt-img srcset="/_ipx/q_80&amp;s_48x48/stuarttech-logo-3.webp 1x, /_ipx/q_80&amp;s_96x96/stuarttech-logo-3.webp 2x" onerror="this.setAttribute(&#39;data-error&#39;, 1)" alt="Stuart Technologies - Website and App Development Company Logo" loading="lazy" class="h-12 w-12 transition-transform duration-300 group-hover:scale-105" src="/_ipx/q_80&amp;s_48x48/stuarttech-logo-3.webp"><span>Stuart Technologies</span></a><p class="text-base text-gray-600 dark:text-gray-400 max-w-sm leading-relaxed"> Making everything a little better, one app at a time. </p></div><div class="grid grid-cols-3 gap-12"><div><h3 class="text-sm font-bold text-gray-900 dark:text-white mb-5 tracking-wide uppercase"> Get Better </h3><ul class="space-y-3"><!--[--><li><a href="/about" class="text-sm text-gray-600 dark:text-gray-400 hover:text-brand-primary dark:hover:text-brand-primary transition-all duration-300 hover:translate-x-0.5 inline-block">About</a></li><li><a href="/better" class="text-sm text-gray-600 dark:text-gray-400 hover:text-brand-primary dark:hover:text-brand-primary transition-all duration-300 hover:translate-x-0.5 inline-block">Products</a></li><li><a href="/resources" class="text-sm text-gray-600 dark:text-gray-400 hover:text-brand-primary dark:hover:text-brand-primary transition-all duration-300 hover:translate-x-0.5 inline-block">Resources</a></li><li><a href="/websites" class="text-sm text-gray-600 dark:text-gray-400 hover:text-brand-primary dark:hover:text-brand-primary transition-all duration-300 hover:translate-x-0.5 inline-block">Websites</a></li><li><a href="/clients" class="text-sm text-gray-600 dark:text-gray-400 hover:text-brand-primary dark:hover:text-brand-primary transition-all duration-300 hover:translate-x-0.5 inline-block">Clients</a></li><li><a href="/contact" class="text-sm text-gray-600 dark:text-gray-400 hover:text-brand-primary dark:hover:text-brand-primary transition-all duration-300 hover:translate-x-0.5 inline-block">Contact</a></li><!--]--></ul></div><div><h3 class="text-sm font-bold text-gray-900 dark:text-white mb-5 tracking-wide uppercase"> Support </h3><ul class="space-y-3"><li><a href="/donate" class="text-sm text-gray-600 dark:text-gray-400 hover:text-brand-primary dark:hover:text-brand-primary transition-all duration-300 hover:translate-x-0.5 inline-block"> Donate </a></li><li><a href="https://hilltoplightministries.org" target="_blank" rel="noopener noreferrer" class="text-sm text-gray-600 dark:text-gray-400 hover:text-brand-primary dark:hover:text-brand-primary transition-all duration-300 hover:translate-x-0.5 inline-block"> Hilltop Light </a></li><li><a href="https://setmefreefromfear.com" target="_blank" rel="noopener noreferrer" class="text-sm text-gray-600 dark:text-gray-400 hover:text-brand-primary dark:hover:text-brand-primary transition-all duration-300 hover:translate-x-0.5 inline-block"> Set Me Free </a></li></ul></div><div><h3 class="text-sm font-bold text-gray-900 dark:text-white mb-5 tracking-wide uppercase"> Legal </h3><ul class="space-y-3"><!--[--><li><a href="/privacy" class="text-sm text-gray-600 dark:text-gray-400 hover:text-brand-primary dark:hover:text-brand-primary transition-all duration-300 hover:translate-x-0.5 inline-block">Privacy Policy</a></li><li><a href="/terms" class="text-sm text-gray-600 dark:text-gray-400 hover:text-brand-primary dark:hover:text-brand-primary transition-all duration-300 hover:translate-x-0.5 inline-block">Terms of Service</a></li><!--]--></ul></div></div></div><div class="pt-10 border-t border-gray-200/60 dark:border-gray-800/60"><div class="flex flex-col md:flex-row justify-between items-center gap-6"><p class="text-sm text-gray-600 dark:text-gray-500 font-medium"> © 2026 Stuart Technologies. All rights reserved. </p><div class="flex gap-4"><a href="https://github.com/pstuart" target="_blank" rel="noopener noreferrer" aria-label="GitHub" class="flex items-center justify-center w-10 h-10 rounded-lg text-gray-600 dark:text-gray-400 hover:text-gray-900 dark:hover:text-white hover:bg-gray-200/50 dark:hover:bg-gray-800/50 transition-all duration-300 hover:-translate-y-1 focus:outline-none focus:ring-2 focus:ring-brand-accent/50"><span class="iconify i-lucide:github w-6 h-6" aria-hidden="true" style=""></span></a><a href="https://linkedin.com/in/patrickstuart" target="_blank" rel="noopener noreferrer" aria-label="LinkedIn" class="flex items-center justify-center w-10 h-10 rounded-lg text-gray-600 dark:text-gray-400 hover:text-gray-900 dark:hover:text-white hover:bg-gray-200/50 dark:hover:bg-gray-800/50 transition-all duration-300 hover:-translate-y-1 focus:outline-none focus:ring-2 focus:ring-brand-accent/50"><span class="iconify i-lucide:linkedin w-6 h-6" aria-hidden="true" style=""></span></a><a href="https://x.com/pstuart" target="_blank" rel="noopener noreferrer" aria-label="X" class="flex items-center justify-center w-10 h-10 rounded-lg text-gray-600 dark:text-gray-400 hover:text-gray-900 dark:hover:text-white hover:bg-gray-200/50 dark:hover:bg-gray-800/50 transition-all duration-300 hover:-translate-y-1 focus:outline-none focus:ring-2 focus:ring-brand-accent/50"><span class="iconify i-lucide:twitter w-6 h-6" aria-hidden="true" style=""></span></a><a href="https://www.instagram.com/pstuart" target="_blank" rel="noopener noreferrer" aria-label="Instagram" class="flex items-center justify-center w-10 h-10 rounded-lg text-gray-600 dark:text-gray-400 hover:text-gray-900 dark:hover:text-white hover:bg-gray-200/50 dark:hover:bg-gray-800/50 transition-all duration-300 hover:-translate-y-1 focus:outline-none focus:ring-2 focus:ring-brand-accent/50"><span class="iconify i-lucide:instagram w-6 h-6" aria-hidden="true" style=""></span></a></div></div></div></div></footer><!----></div></div></div><div id="teleports"></div><script nonce="9lYvpGvRUgeFNbRS6EqwSxyb">window.__NUXT__={};window.__NUXT__.config={public:{siteUrl:"https://stuarttech.com",stuarttechAuth:{loginPath:"/admin/login",homePath:"/admin/licenses",features:{register:false,forgotPassword:false,emailVerification:false,logoutAll:false,profileUpdate:false,refreshRotation:false},apiPaths:{login:"/api/auth/login",logout:"/api/auth/logout",logoutAll:"/api/auth/logout-all",register:"/api/auth/register",refresh:"/api/auth/refresh",me:"/api/auth/me",forgotPassword:"/api/auth/forgot-password",resetPassword:"/api/auth/reset-password",verifyEmail:"/api/auth/verify-email"},cookieNames:{access:"admin_access_token",refresh:"admin_refresh_token"}}},app:{baseURL:"/",buildId:"8384eb04-662b-4d9c-b328-ed39154f9f37",buildAssetsDir:"/_nuxt/",cdnURL:""}}</script><script nonce="9lYvpGvRUgeFNbRS6EqwSxyb" type="application/json" data-nuxt-data="nuxt-app" data-ssr="true" id="__NUXT_DATA__">[["ShallowReactive",1],{"data":2,"state":4,"once":14,"_errors":15,"serverRendered":17,"path":18},["ShallowReactive",3],{},["Reactive",5],{"$ssite-config":6},{"_priority":7,"env":11,"name":12,"url":13},{"name":8,"env":9,"url":10},-10,-15,-3,"production","stuarttech.com","https:\u002F\u002Fstuarttech.com",["Set"],["ShallowReactive",16],{},true,"\u002F"]</script></body></html>