PageSourceSearch

https://kylegawley.com/advisory/

html kylegawley.com collected 2026-10-06 20:01:36 UTC 40,217 bytes, 27 lines download raw bytes

1<!DOCTYPE html><html lang="en" class="leading-snug"> <head><meta charset="UTF-8"><meta name="viewport" content="width=device-width"><meta name="description" content="Fractional CTO and technical advisory for companies without senior technical leadership. 2-hour review or 10-hour Kickstart."><meta name="keywords" content="fractional CTO, technical advisor, software architecture review, product-minded CTO, Kyle Gawley advisory"><meta property="og:type" content="website"><meta property="og:site_name" content="Kyle Gawley"><meta property="og:url" content="https://kylegawley.com/advisory/"><meta property="og:title" content="Advisory | Kyle Gawley"><meta property="og:description" content="Fractional CTO and technical advisory for companies without senior technical leadership. 2-hour review or 10-hour Kickstart."><meta property="og:image" content="https://kylegawley.com/_astro/kyle-avatar.DReeQRts.jpg"><meta name="twitter:card" content="summary_large_image"><meta name="twitter:title" content="Advisory | Kyle Gawley"><meta name="twitter:description" content="Fractional CTO and technical advisory for companies without senior technical leadership. 2-hour review or 10-hour Kickstart."><meta name="twitter:image" content="https://kylegawley.com/_astro/kyle-avatar.DReeQRts.jpg"><meta name="twitter:creator" content="@kylegawley"><link rel="canonical" href="https://kylegawley.com/advisory/"><link rel="preconnect" href="https://fonts.googleapis.com"><link rel="preconnect" href="https://fonts.gstatic.com" crossorigin><link href="https://fonts.googleapis.com/css2?family=JetBrains+Mono:wght@400;500;700;800&family=Montserrat:wght@800&display=swap" rel="stylesheet"><link rel="icon" href="/favicon.svg" type="image/svg+xml"><!-- Privacy-friendly analytics by Plausible -->
1<script async src="https://plausible.io/js/pa-jod1XcsijqawPQFuHSWKx.js"></script>
1<script>
2    window.plausible=window.plausible||function(){(plausible.q=plausible.q||[]).push(arguments)},plausible.init=plausible.init||function(i){plausible.o=i||{}};
3    plausible.init()
4  </script>
4<title>Advisory | Kyle Gawley</title><link rel="stylesheet" href="/_astro/100.DXzwbdst.css">
5<link rel="stylesheet" href="/_astro/_slug_.UH9JxOoG.css">
5<script type="module" src="/_astro/hoisted.Di68Vbjd.js"></script>
5</head> <body> <div class="mx-auto w-full max-w-6xl p-5 sm:p-8"> <header class="relative border-b border-orange-500/20 pb-8"> <div class="flex items-end justify-between gap-4"> <a href="/" class="text-inherit no-underline"> <p class="mb-2 text-[0.8125rem] text-orange-400"> <span class="text-zinc-500">$ </span> whoami </p> <p class="text-xl font-bold text-zinc-50 sm:text-2xl">Kyle Gawley</p> </a> <button id="btn-open-menu" type="button" aria-label="Open navigation" aria-controls="mobile-menu" aria-expanded="false" class="flex size-10 items-center justify-center text-orange-400 transition-colors hover:text-orange-300 md:hidden"> <span id="icon-menu" class="flex"> <svg xmlns="http://www.w3.org/2000/svg" stroke-width="2" width="26" height="26" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" fill="none" viewBox="0 0 24 24">  <line x1="4" x2="20" y1="12" y2="12"></line> <line x1="4" x2="20" y1="6" y2="6"></line> <line x1="4" x2="20" y1="18" y2="18"></line>  </svg> </span> <span id="icon-close" class="hidden"> <svg xmlns="http://www.w3.org/2000/svg" stroke-width="2" width="26" height="26" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" fill="none" viewBox="0 0 24 24">  <path d="M18 6 6 18"></path> <path d="m6 6 12 12"></path>  </svg> </span> </button> <nav aria-label="Main navigation" class="hidden items-center gap-x-5 md:flex"> <a href="/blog" class="text-sm no-underline transition-colors hover:text-orange-300 text-zinc-300"> Blog </a><a href="/newsletter" class="text-sm no-underline transition-colors hover:text-orange-300 text-zinc-300"> Newsletter </a> <a href="/advisory" class="inline-flex justify-center items-center gap-x-4 whitespace-nowrap box-border rounded-none font-mono font-bold tracking-normal transition-all before:content-[&#34;>_&#34;] border border-orange-500 bg-orange-500 text-black shadow-[4px_4px_0_0_rgba(249,115,22,0.35)] before:text-black/70 hover:-translate-y-0.5 hover:border-orange-300 hover:bg-orange-300 hover:shadow-[6px_6px_0_0_rgba(249,115,22,0.5)] text-sm pl-5 pr-7 py-2.5 ring-2 ring-orange-300/40">Work With Me</a> </nav> </div> <nav id="mobile-menu" aria-label="Mobile navigation" class="mt-6 hidden flex-col gap-4 border border-orange-500/40 bg-black p-5 md:hidden"> <a href="/blog" class="text-base no-underline transition-colors hover:text-orange-300 text-zinc-300"> Blog </a><a href="/newsletter" class="text-base no-underline transition-colors hover:text-orange-300 text-zinc-300"> Newsletter </a> <a href="/advisory" class="inline-flex justify-center items-center gap-x-4 whitespace-nowrap box-border rounded-none font-mono font-bold tracking-normal transition-all before:content-[&#34;>_&#34;] border border-orange-500 bg-orange-500 text-black shadow-[4px_4px_0_0_rgba(249,115,22,0.35)] before:text-black/70 hover:-translate-y-0.5 hover:border-orange-300 hover:bg-orange-300 hover:shadow-[6px_6px_0_0_rgba(249,115,22,0.5)] text-sm pl-5 pr-7 py-2.5 w-full">Work With Me</a> </nav> </header>  <main class="mt-10 flex w-full flex-col gap-10 lg:grid lg:grid-cols-[minmax(0,1.618fr)_minmax(0,1fr)] lg:items-start"> <div class="min-w-0">  <div class="mb-12 last:mb-0"> <p class="mb-4 text-[0.8125rem] text-orange-400"> <span class="text-zinc-500">$ </span> cat ./advisory.txt </p>   <div class="mb-4"> <span class="inline-flex items-center gap-1.5 rounded-full border border-green-500/40 bg-green-500/10 px-2.5 py-1 text-xs font-medium text-green-400"> <span class="h-1.5 w-1.5 rounded-full bg-green-400"></span>
6Accepting clients
7</span> </div> <h2 class="mb-6 text-4xl font-extrabold leading-[1.12] tracking-normal text-zinc-50 sm:text-5xl">
8Senior technical leadership without a full-time CTO.
9</h2> <p class="max-w-3xl leading-[1.7] text-zinc-300">
10For companies that need a commercial-minded technical lead to unstick architecture, roadmap, and shipping.
11</p> <div class="mt-6 flex flex-wrap items-center gap-4"> <a href="#problem" class="inline-flex justify-center items-center gap-x-4 whitespace-nowrap box-border rounded-none font-mono font-bold tracking-normal transition-all before:content-[&#34;>_&#34;] border border-orange-500 bg-orange-500 text-black shadow-[4px_4px_0_0_rgba(249,115,22,0.35)] before:text-black/70 hover:-translate-y-0.5 hover:border-orange-300 hover:bg-orange-300 hover:shadow-[6px_6px_0_0_rgba(249,115,22,0.5)] text-base pl-6 pr-9 py-3">Tell me the problem</a> </div>  </div> <div class="mb-12 last:mb-0"> <p class="mb-4 text-[0.8125rem] text-orange-400"> <span class="text-zinc-500">$ </span> cat ./engagements.md </p> <h2 class="mb-6 text-4xl sm:text-5xl font-extrabold leading-[1.12] tracking-normal text-zinc-50">
11 How we work. </h2>  <div class="divide-y divide-zinc-800 border border-zinc-800 bg-black/40"> <div class="p-4"> <div> <h3 class="font-bold text-zinc-50">Technical Review</h3> <p class="mt-1 flex items-baseline gap-1 text-2xl font-bold text-zinc-50">  <span>£1,000</span>  </p> <p class="mt-1 text-xs text-zinc-500">2 hours</p> <p class="mt-2 text-sm leading-6 text-zinc-400">Bring me one consequential product or technical decision. I&#39;ll review the context, codebase and options, then give you a clear recommendation, trade-offs and next steps.</p> <div class="mt-3"> <a href="/advisory?offer=review#problem" class="inline-flex justify-center items-center gap-x-4 whitespace-nowrap box-border rounded-none font-mono font-bold tracking-normal transition-all before:content-[&#34;>_&#34;] border border-orange-500 bg-orange-500 text-black shadow-[4px_4px_0_0_rgba(249,115,22,0.35)] before:text-black/70 hover:-translate-y-0.5 hover:border-orange-300 hover:bg-orange-300 hover:shadow-[6px_6px_0_0_rgba(249,115,22,0.5)] text-sm pl-5 pr-7 py-2.5">Tell me</a> </div> </div> </div><div class="p-4"> <div> <h3 class="font-bold text-zinc-50">Kickstart</h3> <p class="mt-1 flex items-baseline gap-1 text-2xl font-bold text-zinc-50">  <span>£4,000</span>  </p> <p class="mt-1 text-xs text-zinc-500">10 hours</p> <p class="mt-2 text-sm leading-6 text-zinc-400">I get inside the product and the business: architecture, roadmap, bottlenecks, and where AI is actually useful. You leave with clear priorities and a technical plan for the next phase.</p> <div class="mt-3"> <a href="/advisory?offer=kickstart#problem" class="inline-flex justify-center items-center gap-x-4 whitespace-nowrap box-border rounded-none font-mono font-bold tracking-normal transition-all before:content-[&#34;>_&#34;] border border-orange-500 bg-orange-500 text-black shadow-[4px_4px_0_0_rgba(249,115,22,0.35)] before:text-black/70 hover:-translate-y-0.5 hover:border-orange-300 hover:bg-orange-300 hover:shadow-[6px_6px_0_0_rgba(249,115,22,0.5)] text-sm pl-5 pr-7 py-2.5">Tell me</a> </div> </div> </div> </div> <p class="mt-3 text-sm text-zinc-500">
12I work with one or two companies at a time.
13</p>  </div> <div class="mb-12 last:mb-0"> <p class="mb-4 text-[0.8125rem] text-orange-400"> <span class="text-zinc-500">$ </span> cat ./work.md </p> <h2 class="mb-6 text-4xl sm:text-5xl font-extrabold leading-[1.12] tracking-normal text-zinc-50"> What we work on. </h2>  <div class="grid gap-4 sm:grid-cols-2"> <div class="block border border-zinc-800 bg-black/40 p-4 text-inherit no-underline transition-colors hover:border-orange-400/70 hover:bg-orange-500/[0.04]"> <h3 class="font-bold text-zinc-50">Product and engineering</h3> <p class="mt-2 text-sm leading-6 text-zinc-400">Translate the commercial problem into a technical approach the team can execute.</p> </div><div class="block border border-zinc-800 bg-black/40 p-4 text-inherit no-underline transition-colors hover:border-orange-400/70 hover:bg-orange-500/[0.04]"> <h3 class="font-bold text-zinc-50">UX</h3> <p class="mt-2 text-sm leading-6 text-zinc-400">Flows, interface, and the details that make the product feel finished — not just functional.</p> </div><div class="block border border-zinc-800 bg-black/40 p-4 text-inherit no-underline transition-colors hover:border-orange-400/70 hover:bg-orange-500/[0.04]"> <h3 class="font-bold text-zinc-50">Technical strategy</h3> <p class="mt-2 text-sm leading-6 text-zinc-400">What to build next, what to cut, and which technical bets are actually commercial bets.</p> </div><div class="block border border-zinc-800 bg-black/40 p-4 text-inherit no-underline transition-colors hover:border-orange-400/70 hover:bg-orange-500/[0.04]"> <h3 class="font-bold text-zinc-50">Architecture and stack</h3> <p class="mt-2 text-sm leading-6 text-zinc-400">Whether the current system will hold, what to rewrite, and what to leave alone.</p> </div><div class="block border border-zinc-800 bg-black/40 p-4 text-inherit no-underline transition-colors hover:border-orange-400/70 hover:bg-orange-500/[0.04]"> <h3 class="font-bold text-zinc-50">Shipping</h3> <p class="mt-2 text-sm leading-6 text-zinc-400">
13Unstick delivery: scope, quality, and the path to something customers can use.</p> </div><div class="block border border-zinc-800 bg-black/40 p-4 text-inherit no-underline transition-colors hover:border-orange-400/70 hover:bg-orange-500/[0.04]"> <h3 class="font-bold text-zinc-50">Build vs buy</h3> <p class="mt-2 text-sm leading-6 text-zinc-400">Vendors, tools, and whether you should be writing this yourselves at all.</p> </div> </div>  </div> <div class="mb-12 last:mb-0"> <p class="mb-4 text-[0.8125rem] text-orange-400"> <span class="text-zinc-500">$ </span> cat ./fit.md </p> <h2 class="mb-6 text-4xl sm:text-5xl font-extrabold leading-[1.12] tracking-normal text-zinc-50"> Who this is for. </h2>  <div class="grid gap-4 grid-cols-1">  <div class="block border border-zinc-800 bg-black/40 p-4 text-inherit no-underline transition-colors hover:border-orange-400/70 hover:bg-orange-500/[0.04]"><header class="flex items-center justify-between gap-x-3 mb-2"><h3 class="font-bold text-md leading-tight text-white text-md">Good fit</h3></header><p class="leading-7 text-zinc-300"> <span class="mr-3 inline-block text-orange-400">+</span>You do not have a CTO or senior technical lead. </p><p class="leading-7 text-zinc-300"> <span class="mr-3 inline-block text-orange-400">+</span>You are a founder who owns the commercial side and needs someone to lead the technical side. </p><p class="leading-7 text-zinc-300"> <span class="mr-3 inline-block text-orange-400">+</span>You are building a software product — idea, MVP, or live — and the next technical decisions matter. </p><p class="leading-7 text-zinc-300"> <span class="mr-3 inline-block text-orange-400">+</span>You want someone who has shipped commercial software, not a slide deck. </p></div> <div class="block border border-zinc-800 bg-black/40 p-4 text-inherit no-underline transition-colors hover:border-orange-400/70 hover:bg-orange-500/[0.04]"><header class="flex items-center justify-between gap-x-3 mb-2"><h3 class="font-bold text-md leading-tight text-white text-md">Not a fit</h3></header><p class="leading-7 text-zinc-300"> <span class="mr-3 inline-block text-orange-400">-</span>You want a cheap second opinion on an idea you are not going to build. </p><p class="leading-7 text-zinc-300"> <span class="mr-3 inline-block text-orange-400">-</span>You need a contractor to take tickets, or an agency to execute a fixed brief. </p><p class="leading-7 text-zinc-300"> <span class="mr-3 inline-block text-orange-400">-</span>You want someone to recruit and build an engineering team for you. </p></div>  </div>  </div> <div class="mb-12 last:mb-0"> <p class="mb-4 text-[0.8125rem] text-orange-400"> <span class="text-zinc-500">$ </span> cat ./kyle.md </p> <h2 class="mb-6 text-4xl sm:text-5xl font-extrabold leading-[1.12] tracking-normal text-zinc-50"> Who you work with. </h2>  <div class="grid gap-6 sm:grid-cols-[1fr_auto] sm:items-start"> <p class="leading-[1.7] text-zinc-300">
14I'm Kyle Gawley, a founder from Belfast. For 15 years I've built and operated commercial software products used by 1,000+ companies, generating $1m+ in product revenue and processing millions more in transactions.
15</p> <img src="/_astro/kyle-avatar.DReeQRts_bmWOK.webp" alt="Kyle Gawley" class="size-24 rounded-full border border-orange-500/40 object-cover sm:justify-self-end" width="500" height="500" loading="lazy" decoding="async"> </div>  </div> <div class="mb-12 last:mb-0"> <p class="mb-4 text-[0.8125rem] text-orange-400"> <span class="text-zinc-500">$ </span> cat ./proof.md </p> <h2 class="mb-6 text-4xl sm:text-5xl font-extrabold leading-[1.12] tracking-normal text-zinc-50"> Track record. </h2>  <div class="flex flex-col gap-4"> <a href="https://usegravity.app" target="_blank" rel="noreferrer" class="block border border-zinc-800 bg-black/40 p-4 text-inherit no-underline transition-colors hover:border-orange-400/70 hover:bg-orange-500/[0.04]"><header class="flex items-center justify-between gap-x-3 mb-2"><h3 class="font-bold text-md leading-tight text-white text-lg sm:text-xl">Gravity</h3><span class="text-xs text-orange-400">1,000+ companies</span></header> <div class="mt-3 flex flex-col gap-3 text-sm leading-6 text-zinc-400"> <p>
15Building and operating a commercial SaaS development framework used by 1,000+ SaaS companies to launch software products faster.</p> <p>I have led the product from initial concept through multiple generations of the stack, covering product strategy, architecture, UX, billing, authentication, APIs, infrastructure and customer acquisition.</p> <p>Gravity has been used to launch hundreds of commercial SaaS products.</p> <p>Alongside the product, I have advised customers on product scope, architecture and implementation, and delivered custom builds for teams with more complex requirements.</p> </div> </a> <div class="block border border-zinc-800 bg-black/40 p-4 text-inherit no-underline transition-colors hover:border-orange-400/70 hover:bg-orange-500/[0.04]"><header class="flex items-center justify-between gap-x-3 mb-2"><h3 class="font-bold text-md leading-tight text-white text-lg sm:text-xl">Get Invited</h3><span class="text-xs text-orange-400">$5m+ sales</span></header> <div class="mt-3 flex flex-col gap-3 text-sm leading-6 text-zinc-400"> <p>Founded and led Get Invited, a VC-backed ticketing software company that processed $5m+ in ticket sales.</p> <p>As CEO, I led product strategy and technical direction, managed the team, and worked directly with customers, investors and partners as we grew the platform.</p> <p>We also launched Get Started, a product development accelerator inside the company that helped entrepreneurs turn software ideas into viable products — product strategy, MVP scoping, technical architecture and development, from concept through launch.</p> <p>We ticketed events for Jason Calacanis, Game of Thrones and Van Morrison.</p> </div> </div> <a href="https://usealertly.com" target="_blank" rel="noreferrer" class="block border border-zinc-800 bg-black/40 p-4 text-inherit no-underline transition-colors hover:border-orange-400/70 hover:bg-orange-500/[0.04]"><header class="flex items-center justify-between gap-x-3 mb-2"><h3 class="font-bold text-md leading-tight text-white text-lg sm:text-xl">Alertly</h3><span class="text-xs text-orange-400">Current</span></header> <div class="mt-3 flex flex-col gap-3 text-sm leading-6 text-zinc-400"> <p>Building Alertly, a social monitoring platform that helps companies find high-intent buying signals across social media and monitor brand and competitor mentions.</p> <p>I lead product strategy, technical architecture and development, including data pipelines, AI-assisted classification, integrations and the core SaaS platform.</p> </div> </a> </div>  </div> <div class="mb-12 last:mb-0"> <p class="mb-4 text-[0.8125rem] text-orange-400"> <span class="text-zinc-500">$ </span> cat ./press.md </p>   <div class="flex flex-col gap-2 text-sm"> <a class="text-zinc-300 underline decoration-zinc-700 underline-offset-4 transition-colors hover:text-orange-300 hover:decoration-orange-400/70" href="https://www.belfasttelegraph.co.uk/business/technology/belfast-tech-firm-lands-ticket-deal-with-worlds-biggest-start-up-conference-which-has-played-host-to-facebook-founder-mark-zuckerberg/a/117779084.html" rel="noreferrer" target="_blank"> Belfast tech firm lands ticket deal with world&#39;s biggest start-up conference </a><a class="text-zinc-300 underline decoration-zinc-700 underline-offset-4 transition-colors hover:text-orange-300 hover:decoration-orange-400/70" href="https://www.starterstory.com/gravity-breakdown" rel="noreferrer" target="_blank"> Starter Story: How a Bootstrapper Built a SaaS Boilerplate to $25K MRR </a><a class="text-zinc-300 underline decoration-zinc-700 underline-offset-4 transition-colors hover:text-orange-300 hover:decoration-orange-400/70" href="https://open.spotify.com/episode/5lOSFPjPMZXqCNAQg2kIYH" rel="noreferrer" target="_blank"> Indie Hackers Podcast </a><a class="text-zinc-300 underline decoration-zinc-700 underline-offset-4 transition-colors hover:text-orange-300 hover:decoration-orange-400/70" href="https://indiebites.com/72" rel="noreferrer" target="_blank"> Bootstrapping a SaaS boilerplate to $25k/mo </a><a class="text-zinc-300 underline decoration-zinc-700 underline-offset-4 transition-colors hover:text-orange-300 hover:decoration-orange-400/70" href="https://www.ulster.ac.uk/news/2016/january/ulster-university-start-up-hits-1million-in-sales" rel="noreferrer" target="_blank"> Ulster University Startup Hits £1m sales </a><a class="text-zinc-300 underline decoration-zinc-700 underline-offset-4 transition-colors hover:text-orange-300 hover:decoration-orange-400/70" href="https://www.siliconrepublic.com/start-ups/tech-start-up-of-the-week-get-invited" rel="noreferrer" target="_blank"> Tech start-up of the week: Get Invited </a><a class="text-zinc-300 underline decoration-zinc-700 underline-offset-4 transition-colors hover:text-orange-300 hover:decoration-orange-400/70" href="https://www.serc.ac.uk/news/article/SERC-Students-Learn-About-Tech-Entrepreneurship-with-Industry-Professional-Kyle-Gawley-" rel="noreferrer" target="_blank"> SERC Students Learn About Tech Entrepreneurship </a> </div>  </div> <div class="mb-12 last:mb-0"> <p class="mb-4 text-[0.8125rem] text-orange-400"> <span class="text-zinc-500">$ </span> cat ./testimonials.md </p> <h2 class="mb-6 text-4xl sm:text-5xl font-extrabold leading-[1.12] tracking-normal text-zinc-50"> What clients say. </h2>  <div class="grid gap-4 grid-cols-1"> <figure class="border border-zinc-800 bg-black/40 p-5 text-inherit"> <blockquote class="text-sm leading-6 text-zinc-300"> 
16“In my capacity as a UX Lead at Apple I&#39;ve worked with countless engineers — of which Kyle stands ahead of the pack. Kyle&#39;s attention to detail, thoughtful approach, and creative inclination provided the most ideal outcome to jumpstart my SaaS product.”
17 </blockquote> <figcaption class="mt-4 flex items-center gap-x-3"> <img src="/_astro/brad_bitler.F5-cVBW9_Z6XHfU.webp" alt="Brad Bitler" class="size-10 flex-shrink-0 rounded-full border border-orange-500/40 object-cover" width="150" height="150" loading="lazy" decoding="async"> <cite class="not-italic"> <span class="block text-sm font-bold leading-tight text-zinc-50"> Brad Bitler </span> <span class="mt-1 block text-xs text-orange-400"> UX Lead at Apple </span> </cite> </figcaption> </figure><figure class="border border-zinc-800 bg-black/40 p-5 text-inherit"> <blockquote class="text-sm leading-6 text-zinc-300"> 
18“Kyle and I have worked together on various projects for the best part of the past 10 years. I&#39;ve always been keen to get Kyle involved for his technical and product expertise. He has an exceptional ability to quickly understand the commercial problem, identify the right technical approach, challenge assumptions where needed, and turn complex requirements into practical, well-considered software solutions.”
19 </blockquote> <figcaption class="mt-4 flex items-center gap-x-3"> <img src="/_astro/sarah-scullion.CEZ2tE1I_PuwG.webp" alt="Sarah Scullion" class="size-10 flex-shrink-0 rounded-full border border-orange-500/40 object-cover object-[32%_20%]" width="360" height="360" loading="lazy" decoding="async"> <cite class="not-italic"> <span class="block text-sm font-bold leading-tight text-zinc-50"> Sarah Scullion </span> <span class="mt-1 block text-xs text-orange-400"> Co-Founder, CAST Planning </span> </cite> </figcaption> </figure><figure class="border border-zinc-800 bg-black/40 p-5 text-inherit"> <blockquote class="text-sm leading-6 text-zinc-300"> 
20“Kyle was highly responsive and thoughtful in helping build our SaaS to fit our specific business needs, which made adoption and extension significantly easier. He enabled us to ship a production-ready SaaS web app with confidence in both its technical and economic sustainability. Partners log in to our dashboard hub daily and have commented that it delivers the modern SaaS experience they expect.”
21 </blockquote> <figcaption class="mt-4 flex items-center gap-x-3"> <img src="/_astro/mike-baldassare.B5HMMWlb_1ePk4D.webp" alt="Mike Baldassare" class="size-10 flex-shrink-0 rounded-full border border-orange-500/40 object-cover" width="200" height="200" loading="lazy" decoding="async"> <cite class="not-italic"> <span class="block text-sm font-bold leading-tight text-zinc-50"> Mike Baldassare </span> <span class="mt-1 block text-xs text-orange-400"> Director of Data Strategy &amp; Operations, Mogl.com </span> </cite> </figcaption> </figure> </div>  </div> <div class="mb-12 last:mb-0"> <p class="mb-4 text-[0.8125rem] text-orange-400"> <span class="text-zinc-500">$ </span> cat ./how.md </p> <h2 class="mb-6 text-4xl sm:text-5xl font-extrabold leading-[1.12] tracking-normal text-zinc-50"> How it works. </h2>  <div class="grid gap-4 grid-cols-1"> <div class="block border border-zinc-800 bg-black/40 p-4 text-inherit no-underline transition-colors hover:border-orange-400/70 hover:bg-orange-500/[0.04]"> <h3 class="font-bold text-zinc-50"> <span class="mr-2 text-orange-400">1.</span> Tell me what&#39;s stuck </h3> <p class="mt-2 text-sm leading-6 text-zinc-400">What you&#39;re building, what&#39;s in the way, and which offer you&#39;re looking at. A few sentences is enough.</p> </div><div class="block border border-zinc-800 bg-black/40 p-4 text-inherit no-underline transition-colors hover:border-orange-400/70 hover:bg-orange-500/[0.04]"> <h3 class="font-bold text-zinc-50"> <span class="mr-2 text-orange-400">2.</span> I&#39;ll tell you if we&#39;re a good fit </h3> <p class="mt-2 text-sm leading-6 text-zinc-400">If we are, we book a short intro call. If we&#39;re not, I&#39;ll say so.</p> </div><div class="block border border-zinc-800 bg-black/40 p-4 text-inherit no-underline transition-colors hover:border-orange-400/70 hover:bg-orange-500/[0.04]"> <h3 class="font-bold text-zinc-50"> <span class="mr-2 text-orange-400">3.</span> We get to work </h3> <p class="mt-2 text-sm leading-6 text-zinc-400">Async by default. We get on a call when it&#39;s actually useful.</p> </div> </div>  </div> <div id="problem" class="mb-12 scroll-mt-24"> <div class="mb-12 last:mb-0"> <p class="mb-4 text-[0.8125rem] text-orange-400"> <span class="text-zinc-500">$ </span> cat ./problem.txt </p> <h2 class="mb-6 text-4xl sm:text-5xl font-extrabold leading-[1.12] tracking-normal text-zinc-50"> Tell me the problem. </h2>  <p class="max-w-3xl leading-[1.7] text-zinc-300">
22What you are building, and where you are stuck. If we're a fit, we'll schedule a quick intro call. Prefer email?
23<a class="underline decoration-zinc-600 underline-offset-4 hover:text-orange-300" href="/cdn-cgi/l/email-protection#0b636e6767644b6072676e6c6a7c676e7225686466"><span class="__cf_email__" data-cfemail="6b030e0707042b0012070e0c0a1c070e1245080406">[email&#160;protected]</span></a>.
24</p> <div class="mt-8 max-w-xl"> <div class="flex gap-x-4 p-6 bg-brand rounded items-center problem-alert hidden">
24 <div class="self-start"> <svg xmlns="http://www.w3.org/2000/svg" stroke-width="2" width="22" height="22" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" fill="none" viewBox="0 0 24 24">  <circle cx="12" cy="12" r="10"></circle> <path d="M12 16v-4"></path> <path d="M12 8h.01"></path>  </svg> </div> <section class="flex flex-col gap-y-0 items-start"> <h3 class="text-lg font-bold -mt-1 text-white"> Thanks. </h3> <p> I&#39;ll be in touch within 1–2 business days. </p>  </section> </div> <form class="flex flex-col gap-y-4 w-full problem-form" method="POST" id="form" data-url="/mail" novalidate> <div class="hidden" aria-hidden="true"> <input type="checkbox" name="botcheck" tabindex="-1" autocomplete="off"> </div> <div> <label class="block mb-2" for="name"> Your name<span class="text-red-500">*</span> </label> <input class="bg-dark bg-opacity-20 border-purple-400 border-opacity-20 border focus:border-opacity-40 rounded py-2 px-4 w-full" name="name" type="text" label="Your name" placeholder="Jane Smith" required errorMessage="Please enter your name"> <div class="error text-red-500 mt-2 text-sm hidden" aria-hidden="true"> Please enter your name </div> </div><div> <label class="block mb-2" for="email"> Work email<span class="text-red-500">*</span> </label> <input class="bg-dark bg-opacity-20 border-purple-400 border-opacity-20 border focus:border-opacity-40 rounded py-2 px-4 w-full" name="email" type="email" label="Work email" placeholder="[email protected]" required errorMessage="Please enter your work email"> <div class="error text-red-500 mt-2 text-sm hidden" aria-hidden="true"> Please enter your work email </div> </div><div> <label class="block mb-2" for="website"> Website </label> <input class="bg-dark bg-opacity-20 border-purple-400 border-opacity-20 border focus:border-opacity-40 rounded py-2 px-4 w-full" name="website" type="text" label="Website" placeholder="https://"> <div class="error text-red-500 mt-2 text-sm hidden" aria-hidden="true"> Please enter a value  </div> </div><div> <label class="block mb-2" for="service"> Which offer?<span class="text-red-500">*</span> </label> <span class="block bg-dark bg-opacity-20 border-purple-400 border-opacity-20 border rounded py-2 px-4 w-full"> <select class="w-full cursor-pointer outline-none bg-transparent" name="service" required> <option value="" selected> Choose an offer </option> <option value="review"> Technical Review — £1,000 (2 hours) </option><option value="kickstart"> Kickstart — £4,000 (10 hours) </option><option value="unsure"> Not sure yet </option> </select> </span> <div class="error text-red-500 mt-2 text-sm hidden" aria-hidden="true"> Please choose an offer </div> </div><div> <label class="block mb-2" for="team"> Who is building the product today? </label> <span class="block bg-dark bg-opacity-20 border-purple-400 border-opacity-20 border rounded py-2 px-4 w-full"> <select class="w-full cursor-pointer outline-none bg-transparent" name="team"> <option value="" selected> Choose one </option> <option value="solo"> Just me </option><option value="small"> A small team (2–10) </option><option value="company"> A company team (11+) </option><option value="external"> An agency or contractors </option> </select> </span> <div class="error text-red-500 mt-2 text-sm hidden" aria-hidden="true"> Please enter a value  </div> </div><div> <label class="block mb-2" for="message"> What is stuck?<span class="text-red-500">*</span> </label> <textarea class="bg-dark bg-opacity-20 border-purple-400 border-opacity-20 border rounded py-2 px-4 w-full" name="message" type="textarea" label="What is stuck?" placeholder="What the product is, what is blocked, and what a useful outcome would look like." minlength="40" required errorMessage="Please tell me a little about what is stuck"></textarea> <div class="error text-red-500 mt-2 text-sm hidden" aria-hidden="true"> Please tell me a little about what is stuck </div> </div> <button class="inline-flex justify-center items-center gap-x-4 whitespace-nowrap box-border rounded-none font-mono font-bold tracking-normal transition-all before:content-[&#34;>_&#34;] border border-orange-500 bg-orange-500 text-black shadow-[4px_4px_0_0_rgba(249,115,22,0.35)] before:text-black/70 hover:-translate-y-0.5 hover:border-orange-300 hover:bg-orange-300 hover:shadow-[6px_6px_0_0_rgba(249,115,22,0.5)] text-base pl-6 pr-9 py-3" type="submit"><div class="button-loader animate-spin -ml-6 hidden"><svg xmlns="http://www.w3.org/2000/svg" stroke-width="2" width="20" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" fill="none" viewBox="0 0 24 24">  <path d="M21 12a9 9 0 1 1-6.219-8.56"></path>  </svg></div><span class="button-text">Send</span></button> </form>  </div>  </div> </div> <div class="mb-12 last:mb-0"> <p class="mb-4 text-[0.8125rem] text-orange-400"> <span class="text-zinc-500">$ </span> cat ./faq.txt </p> <h2 class="mb-6 text-4xl sm:text-5xl font-extrabold leading-[1.12] tracking-normal text-zinc-50"> Questions. </h2>  <div class="grid gap-4 grid-cols-1"> <div class="block border border-zinc-800 bg-black/40 p-4 text-inherit no-underline transition-colors hover:border-orange-400/70 hover:bg-orange-500/[0.04]"> <h3 class="font-bold text-zinc-50">Review or Kickstart?</h3> <p class="mt-2 text-sm leading-6 text-zinc-400">Review is 2 hours on one consequential decision — recommendation, trade-offs, and next steps. Kickstart is 10 hours in a 30-day window to get inside the product, find the bottleneck, and start the next piece of work.</p> </div><div class="block border border-zinc-800 bg-black/40 p-4 text-inherit no-underline transition-colors hover:border-orange-400/70 hover:bg-orange-500/[0.04]"> <h3 class="font-bold text-zinc-50">Is Kickstart unlimited?</h3> <p class="mt-2 text-sm leading-6 text-zinc-400">No. Kickstart includes 10 hours in a 30-day window. Additional work can be scoped separately.</p> </div><div class="block border border-zinc-800 bg-black/40 p-4 text-inherit no-underline transition-colors hover:border-orange-400/70 hover:bg-orange-500/[0.04]"> <h3 class="font-bold text-zinc-50">Do unused hours roll over?</h3> <p class="mt-2 text-sm leading-6 text-zinc-400">No. Kickstart hours expire at the end of the 30 days. Use them or lose them.</p> </div><div class="block border border-zinc-800 bg-black/40 p-4 text-inherit no-underline transition-colors hover:border-orange-400/70 hover:bg-orange-500/[0.04]"> <h3 class="font-bold text-zinc-50">
24Can you write code?</h3> <p class="mt-2 text-sm leading-6 text-zinc-400">Yes, when that is the highest-leverage thing. The job is to make the product better, not to produce documents about making the product better.</p> </div><div class="block border border-zinc-800 bg-black/40 p-4 text-inherit no-underline transition-colors hover:border-orange-400/70 hover:bg-orange-500/[0.04]"> <h3 class="font-bold text-zinc-50">How do you invoice?</h3> <p class="mt-2 text-sm leading-6 text-zinc-400">Review is billed before we start. Kickstart is 50% to start, 50% at the end of the 30 days. Invoices come from a UK limited company.</p> </div><div class="block border border-zinc-800 bg-black/40 p-4 text-inherit no-underline transition-colors hover:border-orange-400/70 hover:bg-orange-500/[0.04]"> <h3 class="font-bold text-zinc-50">Why not just hire a CTO?</h3> <p class="mt-2 text-sm leading-6 text-zinc-400">A full-time CTO is a six-figure salary plus equity, and a good one takes months to hire. This is senior technical help you can start this month. Hire when you need someone five days a week. Until then, this is the cheaper way to get the same quality of decisions.</p> </div><div class="block border border-zinc-800 bg-black/40 p-4 text-inherit no-underline transition-colors hover:border-orange-400/70 hover:bg-orange-500/[0.04]"> <h3 class="font-bold text-zinc-50">Who is this not for?</h3> <p class="mt-2 text-sm leading-6 text-zinc-400">People looking for a cheap second opinion, and companies that want a recruiter or a ticket-taking contractor. This is senior technical leadership for a product you intend to ship.</p> </div> </div>  </div>  </div> <aside class="flex min-w-0 flex-col gap-8 lg:border-l lg:border-orange-500/20 lg:pl-10"> <section> <p class="mb-4 text-[0.8125rem] text-orange-400"> <span class="text-zinc-500">$ </span> whoami --verbose </p> <img src="/_astro/kyle-avatar.DReeQRts_bmWOK.webp" alt="Kyle Gawley" class="mb-5 size-14 border-2 border-orange-500/50 object-cover" width="500" height="500" loading="lazy" decoding="async"> <dl class="grid gap-4 text-sm"> <div> <dt class="text-zinc-500">Name</dt> <dd class="mt-1 text-zinc-200">Kyle Gawley</dd> </div> <div> <dt class="text-zinc-500">Experience</dt> <dd class="mt-1 text-zinc-200">15 years building VC-funded and bootstrapped software products. 
25          Founder <a href="https://usealertly.com">Alertly</a>, <a href="https://usegravity.app">Gravity</a> and Get Invited.
26</dd></div> </dl> </section> <section> <p class="mb-4 text-[0.8125rem] text-orange-400"> <span class="text-zinc-500">$ </span> ssh connect </p> <div class="flex flex-col gap-2 text-sm"> <a class="text-zinc-300 no-underline transition-colors before:mr-2 before:text-orange-400 before:content-[&quot;>&quot;] hover:text-orange-300" href="/advisory">advisory: /advisory</a> <a class="text-zinc-300 no-underline transition-colors before:mr-2 before:text-orange-400 before:content-[&quot;>&quot;] hover:text-orange-300" href="/blog">read: /blog</a> <a class="text-zinc-300 no-underline transition-colors before:mr-2 before:text-orange-400 before:content-[&quot;>&quot;] hover:text-orange-300" href="/newsletter">subscribe: /newsletter</a> <a class="text-zinc-300 no-underline transition-colors before:mr-2 before:text-orange-400 before:content-[&quot;>&quot;] hover:text-orange-300" href="/cdn-cgi/l/email-protection#e68e838a8a89a68d9f8a838187918a839fc885898b">email: <span class="__cf_email__" data-cfemail="d4bcb1b8b8bb94bfadb8b1b3b5a3b8b1adfab7bbb9">[email&#160;protected]</span></a> <a class="text-zinc-300 no-underline transition-colors before:mr-2 before:text-orange-400 before:content-[&quot;>&quot;] hover:text-orange-300" href="https://x.com/kylegawley">x: @kylegawley</a> <a class="text-zinc-300 no-underline transition-colors before:mr-2 before:text-orange-400 before:content-[&quot;>&quot;] hover:text-orange-300" href="https://uk.linkedin.com/in/kylegawley">linkedin: /in/kylegawley</a> <a class="text-zinc-300 no-underline transition-colors before:mr-2 before:text-orange-400 before:content-[&quot;>&quot;] hover:text-orange-300" href="https://www.youtube.com/@kylegawley">youtube: @kylegawley</a> </div> </section> </aside> </main> </div> <div id="toast" class="fixed right-4 -bottom-full text-left flex gap-4 bg-dark bg-opacity-95 border border-purple-400 border-opacity-20 p-6 rounded-md transition-all duration-300 max-w-md"> <div id="icon" class="hidden"> <svg xmlns="http://www.w3.org/2000/svg" stroke-width="2" width="22" height="22" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" fill="none" viewBox="0 0 24 24" class="mt-[1px]">  <circle cx="12" cy="12" r="10"></circle> <path d="M12 16v-4"></path> <path d="M12 8h.01"></path>  </svg> </div> <div class="flex flex-col gap-2"> <h2 id="toast-title" class="font-bold hidden"></h2> <p id="toast-message" class="text-sm hidden"></p> <img src="" class="max-w-64 hidden" alt=""> <div class="flex gap-x-2 actions hidden mt-2 w-full"> <button class="inline-flex justify-center items-center gap-x-4 whitespace-nowrap box-border rounded-none font-mono font-bold tracking-normal transition-all before:content-[&#34;>_&#34;] border border-orange-500 bg-orange-500 text-black shadow-[4px_4px_0_0_rgba(249,115,22,0.35)] before:text-black/70 hover:-translate-y-0.5 hover:border-orange-300 hover:bg-orange-300 hover:shadow-[6px_6px_0_0_rgba(249,115,22,0.5)] text-sm pl-5 pr-7 py-2.5 w-full hidden" type="button"><div class="button-loader animate-spin -ml-6 hidden"><svg xmlns="http://www.w3.org/2000/svg" stroke-width="2" width="20" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" fill="none" viewBox="0 0 24 24">  <path d="M21 12a9 9 0 1 1-6.219-8.56"></path>  </svg></div><span class="button-text"></span></button> <button class="inline-flex justify-center items-center gap-x-4 whitespace-nowrap box-border rounded-none font-mono font-bold tracking-normal transition-all before:content-[&#34;>_&#34;] border border-orange-500/70 bg-black text-orange-300 shadow-[4px_4px_0_0_rgba(249,115,22,0.25)] before:text-orange-500 hover:-translate-y-0.5 hover:border-orange-300 hover:text-orange-100 hover:shadow-[6px_6px_0_0_rgba(249,115,22,0.45)] text-sm pl-5 pr-7 py-2.5 w-full hidden" type="button"><div class="button-loader animate-spin -ml-6 hidden"><svg xmlns="http://www.w3.org/2000/svg" stroke-width="2" width="20" height="20" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" fill="none" viewBox="0 0 24 24">  <path d="M21 12a9 9 0 1 1-6.219-8.56"></path>  </svg></div><span class="button-text"></span></button> </div> <button aria-label="Close notification" id="btn-close-toast" class="absolute -top-[4px] -right-[4px] flex items-center justify-center cursor-pointer size-5 bg-dark border-purple-400 border border-opacity-40 shadow rounded p-1"> <i><svg xmlns="http://www.w3.org/2000/svg" stroke-width="2" width="16" height="16" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" fill="none" viewBox="0 0 24 24">  <path d="M18 6 6 18"></path> <path d="m6 6 12 12"></path>  </svg></i> </button> </div> </div>
vendor: 110 bytes, line 26
26  <script data-cfasync="false" src="/cdn-cgi/scripts/5c5dd728/cloudflare-static/email-decode.min.js"></script>
26<script type="module" src="https://static.cloudflareinsights.com/beacon.min.js/v31edd6df95cf4e85bb4c19e7a9bdbcba1788362987495" integrity="sha512-iIg7k2xntmwu6/uSb5tpc/hySgZc4eoL31yB29W6tJFo2akwjPWcEqnCEdJvGexCL0KEQwVYv5BlowfhVz26hg==" data-cf-beacon='{"version":"2024.11.0","token":"b3f989d27f6142c7a3827c83619f298d","r":1,"spa":2}' crossorigin="anonymous"></script>
26
27</body></html> 

Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.